ZGlmZiAtLWdpdCBhL0ZpbGVsaXN0IGIvRmlsZWxpc3QKaW5kZXggNzM4ZGQ5ZS4uMTdhMjdhNiAxMDA2NDQKLS0tIGEvRmlsZWxpc3QKKysrIGIvRmlsZWxpc3QKQEAgLTM3Nyw2ICszNzcsNyBAQAogCQlzcmMvb3NfbWFjLnBicHJvai9wcm9qZWN0LnBieHByb2ogXAogCQlzcmMvcHJvdG8vZ3VpX21hYy5wcm8gXAogCQlzcmMvcHJvdG8vb3NfbWFjLnBybyBcCisJCXNyYy9wcm90by9vc19tYWNfY29udi5wcm8gXAogCiAjIHNvdXJjZSBmaWxlcyBmb3IgVk1TIChpbiB0aGUgZXh0cmEgYXJjaGl2ZSkKIFNSQ19WTVMgPQlcCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9maWxldHlwZS50eHQgYi9ydW50aW1lL2RvYy9maWxldHlwZS50eHQKaW5kZXggY2I4ZmY0MS4uZTY4Yjc1YSAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvZmlsZXR5cGUudHh0CisrKyBiL3J1bnRpbWUvZG9jL2ZpbGV0eXBlLnR4dApAQCAtMSw0ICsxLDQgQEAKLSpmaWxldHlwZS50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBBdWcgMjQKKypmaWxldHlwZS50eHQqICBGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBBdWcgMzAKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwgICAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTQ0LDE1ICs0NCwyMSBAQAogCW5hbWUsIHRoZSBmaWxlICRWSU1SVU5USU1FL3NjcmlwdHMudmltIGlzIHVzZWQgdG8gZGV0ZWN0IGl0IGZyb20gdGhlCiAJY29udGVudHMgb2YgdGhlIGZpbGUuCiAKLVRvIGFkZCB5b3VyIG93biBmaWxlIHR5cGVzLCBzZWUgfG5ldy1maWxldHlwZXwgYmVsb3cuCitUbyBhZGQgeW91ciBvd24gZmlsZSB0eXBlcywgc2VlIHxuZXctZmlsZXR5cGV8IGJlbG93LiAgVG8gc2VhcmNoIGZvciBoZWxwIG9uIGEKK2ZpbGV0eXBlIHByZXBlbmQgImZ0LSIgYW5kIG9wdGlvbmFsbHkgYXBwZW5kICItc3ludGF4IiwgIi1pbmRlbnQiIG9yCisiLXBsdWdpbiIuICBGb3IgZXhhbXBsZTogPgorCTpoZWxwIGZ0LXZpbS1pbmRlbnQKKwk6aGVscCBmdC12aW0tc3ludGF4CisJOmhlbHAgZnQtbWFuLXBsdWdpbgogCiBJZiB0aGUgZmlsZSB0eXBlIGlzIG5vdCBkZXRlY3RlZCBhdXRvbWF0aWNhbGx5LCBvciBpdCBmaW5kcyB0aGUgd3JvbmcgdHlwZSwKIHlvdSBjYW4gZWl0aGVyIHNldCB0aGUgJ2ZpbGV0eXBlJyBvcHRpb24gbWFudWFsbHksIG9yIGFkZCBhIG1vZGVsaW5lIHRvIHlvdXIKIGZpbGUuICBFeGFtcGxlLCBmb3IgaW4gYW4gSURMIGZpbGUgdXNlIHRoZSBjb21tYW5kOiA+CiAJOnNldCBmaWxldHlwZT1pZGwKLW9yIGFkZCB0aGlzIHxtb2RlbGluZXwgdG8gdGhlIGZpbGU6ID4KLQkvKiB2aW06IHNldCBmaWxldHlwZT1pZGwgOiAqLwotPAorCitvciBhZGQgdGhpcyB8bW9kZWxpbmV8IHRvIHRoZSBmaWxlOgorCS8qIHZpbTogc2V0IGZpbGV0eXBlPWlkbCA6ICovIH4KKwogCQkJCQkJKjpmaWxldHlwZS1wbHVnaW4tb24qCiBZb3UgY2FuIGVuYWJsZSBsb2FkaW5nIHRoZSBwbHVnaW4gZmlsZXMgZm9yIHNwZWNpZmljIGZpbGUgdHlwZXMgd2l0aDogPgogCTpmaWxldHlwZSBwbHVnaW4gb24KQEAgLTEzMiwxNiArMTM4LDE2IEBACiBjYW4gYmUgdXNlZCB0byBvdmVycnVsZSB0aGUgZmlsZXR5cGUgdXNlZCBmb3IgY2VydGFpbiBleHRlbnNpb25zOgogCiAJZmlsZSBuYW1lCXZhcmlhYmxlIH4KLQkqLmFzYQkJZzpmaWxldHlwZV9hc2EJfGFzcHZicy1zeW50YXh8IHxhc3BwZXJsLXN5bnRheHwKLQkqLmFzcAkJZzpmaWxldHlwZV9hc3AJfGFzcHZicy1zeW50YXh8IHxhc3BwZXJsLXN5bnRheHwKLQkqLmFzbQkJZzphc21zeW50YXgJfGFzbS1zeW50YXh8CisJKi5hc2EJCWc6ZmlsZXR5cGVfYXNhCXxmdC1hc3B2YnMtc3ludGF4fCB8ZnQtYXNwcGVybC1zeW50YXh8CisJKi5hc3AJCWc6ZmlsZXR5cGVfYXNwCXxmdC1hc3B2YnMtc3ludGF4fCB8ZnQtYXNwcGVybC1zeW50YXh8CisJKi5hc20JCWc6YXNtc3ludGF4CXxmdC1hc20tc3ludGF4fAogCSoucHJnCQlnOmZpbGV0eXBlX3ByZwogCSoucGwJCWc6ZmlsZXR5cGVfcGwKIAkqLmluYwkJZzpmaWxldHlwZV9pbmMKLQkqLncJCWc6ZmlsZXR5cGVfdwl8Y3dlYi1zeW50YXh8Ci0JKi5pCQlnOmZpbGV0eXBlX2kJfHByb2dyZXNzLXN5bnRheHwKLQkqLnAJCWc6ZmlsZXR5cGVfcAl8cGFzY2FsLXN5bnRheHwKLQkqLnNoCQlnOmJhc2hfaXNfc2gJfHNoLXN5bnRheHwKKwkqLncJCWc6ZmlsZXR5cGVfdwl8ZnQtY3dlYi1zeW50YXh8CisJKi5pCQlnOmZpbGV0eXBlX2kJfGZ0LXByb2dyZXNzLXN5bnRheHwKKwkqLnAJCWc6ZmlsZXR5cGVfcAl8ZnQtcGFzY2FsLXN5bnRheHwKKwkqLnNoCQlnOmJhc2hfaXNfc2gJfGZ0LXNoLXN5bnRheHwKIAogCQkJCQkJCSpmaWxldHlwZS1pZ25vcmUqCiBUbyBhdm9pZCB0aGF0IGNlcnRhaW4gZmlsZXMgYXJlIGJlaW5nIGluc3BlY3RlZCwgdGhlIGc6ZnRfaWdub3JlX3BhdCB2YXJpYWJsZQpAQCAtMzgwLDcgKzM4Niw3IEBACiAzLiAgRG9jcyBmb3IgdGhlIGRlZmF1bHQgZmlsZXR5cGUgcGx1Z2lucy4JCSpmdHBsdWdpbi1kb2NzKgogCiAKLUNIQU5HRUxPRwkJCQkJCSpjaGFuZ2Vsb2ctcGx1Z2luKgorQ0hBTkdFTE9HCQkJCQkJKmZ0LWNoYW5nZWxvZy1wbHVnaW4qCiAKIEFsbG93cyBmb3IgZWFzeSBlbnRyYW5jZSBvZiBDaGFuZ2Vsb2cgZW50cmllcyBpbiBDaGFuZ2Vsb2cgZmlsZXMuICBUaGVyZSBhcmUKIHNvbWUgY29tbWFuZHMsIG1hcHBpbmdzLCBhbmQgdmFyaWFibGVzIHdvcnRoIGV4cGxvcmluZzoKQEAgLTQ2Niw3ICs0NzIsNyBAQAogdGhlIENoYW5nZWxvZy4KIAogCi1GT1JUUkFOCQkJCQkJCSpmb3J0cmFuLXBsdWdpbioKK0ZPUlRSQU4JCQkJCQkJKmZ0LWZvcnRyYW4tcGx1Z2luKgogCiBPcHRpb25zOgogJ2V4cGFuZHRhYicJaXMgc3dpdGNoZWQgb24gdG8gYXZvaWQgdGFicyBhcyByZXF1aXJlZCBieSB0aGUgRm9ydHJhbgpAQCAtNDc2LDEwICs0ODIsMTAgQEAKICdmb3JtYXRvcHRpb25zJyBpcyBzZXQgdG8gYnJlYWsgY29kZSBhbmQgY29tbWVudCBsaW5lcyBhbmQgdG8gcHJlc2VydmUgbG9uZwogCQlsaW5lcy4gIFlvdSBjYW4gZm9ybWF0IGNvbW1lbnRzIHdpdGggfGdxfC4KIEZvciBmdXJ0aGVyIGRpc2N1c3Npb24gb2YgZm9ydHJhbl9oYXZlX3RhYnMgYW5kIHRoZSBtZXRob2QgdXNlZCBmb3IgdGhlCi1kZXRlY3Rpb24gb2Ygc291cmNlIGZvcm1hdCBzZWUgfGZvcnRyYW4tc3ludGF4fC4KK2RldGVjdGlvbiBvZiBzb3VyY2UgZm9ybWF0IHNlZSB8ZnQtZm9ydHJhbi1zeW50YXh8LgogCiAKLU1BSUwJCQkJCQkJKm1haWwtcGx1Z2luKgorTUFJTAkJCQkJCQkqZnQtbWFpbC1wbHVnaW4qCiAKIE9wdGlvbnM6CiAnbW9kZWxpbmUnCWlzIHN3aXRjaGVkIG9mZiB0byBhdm9pZCB0aGUgZGFuZ2VyIG9mIHRyb2phbiBob3JzZXMsIGFuZCB0bwpAQCAtNDk2LDcgKzUwMiw3IEBACiAJdG8gdGhlIGVuZCBvZiB0aGUgZmlsZSBpbiBOb3JtYWwgbW9kZS4gIFRoaXMgbWVhbnMgIj4gIiBpcyBpbnNlcnRlZCBpbgogCWVhY2ggbGluZS4KIAotTUFOCQkJCQkJCSptYW4tcGx1Z2luKiAqOk1hbioKK01BTgkJCQkJCQkqZnQtbWFuLXBsdWdpbiogKjpNYW4qCiAKIERpc3BsYXlzIGEgbWFudWFsIHBhZ2UgaW4gYSBuaWNlIHdheS4gIEFsc28gc2VlIHRoZSB1c2VyIG1hbnVhbAogfGZpbmQtbWFucGFnZXwuCkBAIC01MjMsNyArNTI5LDcgQEAKIENUUkwtVAkJSnVtcCBiYWNrIHRvIHRoZSBwcmV2aW91cyBtYW51YWwgcGFnZS4KIAogCi1SUE0gU1BFQwkJCQkJCSpzcGVjLXBsdWdpbioKK1JQTSBTUEVDCQkJCQkJKmZ0LXNwZWMtcGx1Z2luKgogCiBTaW5jZSB0aGUgdGV4dCBmb3IgdGhpcyBwbHVnaW4gaXMgcmF0aGVyIGxvbmcgaXQgaGFzIGJlZW4gcHV0IGluIGEgc2VwYXJhdGUKIGZpbGU6IHxwaV9zcGVjLnR4dHwuCmRpZmYgLS1naXQgYS9ydW50aW1lL2RvYy9pbmRlbnQudHh0IGIvcnVudGltZS9kb2MvaW5kZW50LnR4dAppbmRleCAwNTQwYzQzLi5mMjZjNTQwIDEwMDY0NAotLS0gYS9ydW50aW1lL2RvYy9pbmRlbnQudHh0CisrKyBiL3J1bnRpbWUvZG9jL2luZGVudC50eHQKQEAgLTEsNCArMSw0IEBACi0qaW5kZW50LnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgTWFyIDI5CisqaW5kZW50LnR4dCogICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgQXVnIDMwCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMICAgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC00NDksNyArNDQ5LDcgQEAKIFJFTUFSS1MgQUJPVVQgU1BFQ0lGSUMgSU5ERU5UIEZJTEVTIH4KIAogCi1GT1JUUkFOCQkJCQkJCSpmb3J0cmFuLWluZGVudCoKK0ZPUlRSQU4JCQkJCQkJKmZ0LWZvcnRyYW4taW5kZW50KgogCiBCbG9jayBpZiwgc2VsZWN0IGNhc2UsIGFuZCB3aGVyZSBjb25zdHJ1Y3RzIGFyZSBpbmRlbnRlZC4gIENvbW1lbnRzLCBsYWJlbGxlZAogc3RhdGVtZW50cyBhbmQgY29udGludWF0aW9uIGxpbmVzIGFyZSBpbmRlbnRlZCBpZiB0aGUgRm9ydHJhbiBpcyBpbiBmcmVlCkBAIC00NTcsNyArNDU3LDcgQEAKIGZvcm0gYmVjYXVzZSBvZiB0aGUgbGVmdCBtYXJnaW4gcmVxdWlyZW1lbnRzLiAgSGVuY2UgbWFudWFsIGluZGVudCBjb3JyZWN0aW9ucwogd2lsbCBiZSBuZWNlc3NhcnkgZm9yIGxhYmVsbGVkIHN0YXRlbWVudHMgYW5kIGNvbnRpbnVhdGlvbiBsaW5lcyB3aGVuIGZpeGVkCiBzb3VyY2UgZm9ybSBpcyBiZWluZyB1c2VkLiAgRm9yIGZ1cnRoZXIgZGlzY3Vzc2lvbiBvZiB0aGUgbWV0aG9kIHVzZWQgZm9yIHRoZQotZGV0ZWN0aW9uIG9mIHNvdXJjZSBmb3JtYXQgc2VlIHxmb3J0cmFuLXN5bnRheHwuCitkZXRlY3Rpb24gb2Ygc291cmNlIGZvcm1hdCBzZWUgfGZ0LWZvcnRyYW4tc3ludGF4fC4KIAogRG8gbG9vcHMgfgogQWxsIGRvIGxvb3BzIGFyZSBsZWZ0IHVuaW5kZW50ZWQgYnkgZGVmYXVsdC4gIERvIGxvb3BzIGNhbiBiZSB1bnN0cnVjdHVyZWQgaW4KQEAgLTQ4NSw3ICs0ODUsNyBAQAogb3RoZXIgZXh0ZW5zaW9ucyBzdWNoIGFzIC5mb3IuCiAKIAotUFlUSE9OCQkJCQkJCSpweXRob24taW5kZW50KgorUFlUSE9OCQkJCQkJCSpmdC1weXRob24taW5kZW50KgogCiBUaGUgYW1vdW50IG9mIGluZGVudCBjYW4gYmUgc2V0IGZvciB0aGUgZm9sbG93aW5nIHNpdHVhdGlvbnMuICBUaGUgZXhhbXBsZXMKIGdpdmVuIGFyZSBkZSB0aGUgZGVmYXVsdHMuICBOb3RlIHRoYXQgdGhlIHZhcmlhYmxlcyBhcmUgc2V0IHRvIGFuIGV4cHJlc3Npb24sCkBAIC00OTksNyArNDk5LDcgQEAKIAlsZXQgZzpweWluZGVudF9jb250aW51ZSA9ICcmc3cgKiAyJwogCiAKLVZFUklMT0cJCQkJCQkJKnZlcmlsb2ctaW5kZW50KgorVkVSSUxPRwkJCQkJCQkqZnQtdmVyaWxvZy1pbmRlbnQqCiAKIEdlbmVyYWwgYmxvY2sgc3RhdGVtZW50cyBzdWNoIGFzIGlmLCBmb3IsIGNhc2UsIGFsd2F5cywgaW5pdGlhbCwgZnVuY3Rpb24sCiBzcGVjaWZ5IGFuZCBiZWdpbiwgZXRjLiwgYXJlIGluZGVudGVkLiAgVGhlIG1vZHVsZSBibG9jayBzdGF0ZW1lbnRzIChmaXJzdApAQCAtNTM0LDcgKzUzNCw3IEBACiBNYWtlIHN1cmUgdG8gZG8gIjpzZXQgY21kaGVpZ2h0PTIiIGZpcnN0IHRvIGFsbG93IHRoZSBkaXNwbGF5IG9mIHRoZSBtZXNzYWdlLgogCiAKLVZJTQkJCQkJCQkqdmltLWluZGVudCoKK1ZJTQkJCQkJCQkqZnQtdmltLWluZGVudCoKIAogRm9yIGluZGVudGluZyBWaW0gc2NyaXB0cyB0aGVyZSBpcyBvbmUgdmFyaWFibGUgdGhhdCBzcGVjaWZpZXMgdGhlIGFtb3VudCBvZgogaW5kZW50IGZvciBhIGNvbnRpbnVhdGlvbiBsaW5lLCBhIGxpbmUgdGhhdCBzdGFydHMgd2l0aCBhIGJhY2tzbGFzaDogPgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvcGlfbmV0cncudHh0IGIvcnVudGltZS9kb2MvcGlfbmV0cncudHh0CmluZGV4IDQ4ZWU4ODAuLjQxYjg4MjAgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3BpX25ldHJ3LnR4dAorKysgYi9ydW50aW1lL2RvYy9waV9uZXRydy50eHQKQEAgLTkwNCw3ICs5MDQsNyBAQAogdGhlIFYgKHxsaW5ld2lzZS12aXN1YWx8KS4KIAogCi1ISURJTkcgRklMRVMgT1IgRElSRUNUT1JJRVMJCQkJKmc6bmV0cnctYSoKK0hJRElORyBGSUxFUyBPUiBESVJFQ1RPUklFUwkJCQkqZzpuZXRydy1hKiAqbmV0cnctYSoKIAogTmV0cncncyBicm93c2luZyBmYWNpbGl0eSBhbGxvd3Mgb25lIHRvIHVzZSB0aGUgaGlkaW5nIGxpc3QgaW4gb25lIG9mCiB0aHJlZSB3YXlzOiBpZ25vcmUgaXQsIGhpZGUgZmlsZXMgd2hpY2ggbWF0Y2gsIGFuZCBzaG93IG9ubHkgdGhvc2UgZmlsZXMKQEAgLTEwNzcsNyArMTA3Nyw3IEBACiBoaXN0b3J5IChxdWVyeSkuIChzZWUgfG5ldHJ3LWJ8LCB8bmV0cnctQnwsIHxuZXRydy11fCwgYW5kIHxuZXRydy1VfCkKIAogCi1JTVBST1ZJTkcgRElSRUNUT1JZIEJST1dTSU5HCQkJCSpuZXRydy1saXN0aGFjayoKK0lNUFJPVklORyBESVJFQ1RPUlkgQlJPV1NJTkcJCQkJKm5ldHJ3LWxpc3QtaGFjayoKIAogRXNwZWNpYWxseSB3aXRoIHRoZSByZW1vdGUgZGlyZWN0b3J5IGJyb3dzZXIsIGNvbnN0YW50bHkgZW50ZXJpbmcgdGhlIHBhc3N3b3JkCiBpcyB0ZWRpb3VzLgpkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2Mvc3BlbGwudHh0IGIvcnVudGltZS9kb2Mvc3BlbGwudHh0CmluZGV4IGI5ZTUxMTQuLmEyZDUxMzUgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3NwZWxsLnR4dAorKysgYi9ydW50aW1lL2RvYy9zcGVsbC50eHQKQEAgLTEsNCArMSw0IEBACi0qc3BlbGwudHh0KglGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBBdWcgMjkKKypzcGVsbC50eHQqCUZvciBWaW0gdmVyc2lvbiA3LjBhYS4gIExhc3QgY2hhbmdlOiAyMDA1IEF1ZyAzMAogCiAKIAkJICBWSU0gUkVGRVJFTkNFIE1BTlVBTAkgIGJ5IEJyYW0gTW9vbGVuYWFyCkBAIC02NCwxMyArNjQsMTkgQEAKIAogCQkJCQkJCSp6ZyoKIHpnCQkJQWRkIHdvcmQgdW5kZXIgdGhlIGN1cnNvciBhcyBhIGdvb2Qgd29yZCB0byB0aGUgZmlyc3QKLQkJCW5hbWUgaW4gJ3NwZWxsZmlsZScuICBJbiBWaXN1YWwgbW9kZSB0aGUgc2VsZWN0ZWQKLQkJCWNoYXJhY3RlcnMgYXJlIGFkZGVkIGFzIGEgd29yZCAoaW5jbHVkaW5nIHdoaXRlCi0JCQlzcGFjZSEpLiAgSWYgdGhlIHdvcmQgaXMgZXhwbGljaXRseSBtYXJrZWQgYXMgYmFkIHdvcmQKLQkJCWluIGFub3RoZXIgc3BlbGwgZmlsZSB0aGUgcmVzdWx0IGlzIHVucHJlZGljdGFibGUuCi0JCQlBIGNvdW50IG1heSBwcmVjZWRlIHRoZSBjb21tYW5kIHRvIGluZGljYXRlIHRoZSBlbnRyeQotCQkJaW4gJ3NwZWxsZmlsZScgdG8gYmUgdXNlZC4gIEEgY291bnQgb2YgdHdvIHVzZXMgdGhlCi0JCQlzZWNvbmQgZW50cnkuCisJCQluYW1lIGluICdzcGVsbGZpbGUnLiAgQSBjb3VudCBtYXkgcHJlY2VkZSB0aGUgY29tbWFuZAorCQkJdG8gaW5kaWNhdGUgdGhlIGVudHJ5IGluICdzcGVsbGZpbGUnIHRvIGJlIHVzZWQuICBBCisJCQljb3VudCBvZiB0d28gdXNlcyB0aGUgc2Vjb25kIGVudHJ5LgorCisJCQlJbiBWaXN1YWwgbW9kZSB0aGUgc2VsZWN0ZWQgY2hhcmFjdGVycyBhcmUgYWRkZWQgYXMgYQorCQkJd29yZCAoaW5jbHVkaW5nIHdoaXRlIHNwYWNlISkuCisJCQlXaGVuIHRoZSBjdXJzb3IgaXMgb24gdGV4dCB0aGF0IGlzIG1hcmtlZCBhcyBiYWRseQorCQkJc3BlbGxlZCB0aGVuIHRoZSBtYXJrZWQgdGV4dCBpcyB1c2VkLgorCQkJT3RoZXJ3aXNlIHRoZSB3b3JkIHVuZGVyIHRoZSBjdXJzb3IsIHNlcGFyYXRlZCBieQorCQkJbm9uLXdvcmQgY2hhcmFjdGVycywgaXMgdXNlZC4KKworCQkJSWYgdGhlIHdvcmQgaXMgZXhwbGljaXRseSBtYXJrZWQgYXMgYmFkIHdvcmQgaW4KKwkJCWFub3RoZXIgc3BlbGwgZmlsZSB0aGUgcmVzdWx0IGlzIHVucHJlZGljdGFibGUuCiAKIAkJCQkJCQkqekcqCiB6RwkJCUxpa2UgInpnIiBidXQgYWRkIHRoZSB3b3JkIHRvIHRoZSBpbnRlcm5hbCB3b3JkIGxpc3QKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3N5bnRheC50eHQgYi9ydW50aW1lL2RvYy9zeW50YXgudHh0CmluZGV4IGE2YTAzZjUuLmYzMjEwZWEgMTAwNjQ0Ci0tLSBhL3J1bnRpbWUvZG9jL3N5bnRheC50eHQKKysrIGIvcnVudGltZS9kb2Mvc3ludGF4LnR4dApAQCAtMSw0ICsxLDQgQEAKLSpzeW50YXgudHh0KglGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBBdWcgMTQKKypzeW50YXgudHh0KglGb3IgVmltIHZlcnNpb24gNy4wYWEuICBMYXN0IGNoYW5nZTogMjAwNSBBdWcgMzAKIAogCiAJCSAgVklNIFJFRkVSRU5DRSBNQU5VQUwJICBieSBCcmFtIE1vb2xlbmFhcgpAQCAtNDU0LDcgKzQ1NCw3IEBACiAgICBmb3IgZiBpbiAqLltjaF07IGRvIGd2aW0gLWYgKyJzeW4gb24iICsicnVuISBzeW50YXgvMmh0bWwudmltIiArIndxIiArInEiICRmOyBkb25lCiA8CiAKLUFCRUwJCQkJCQkJKmFiZWwudmltKiAqYWJlbC1zeW50YXgqCitBQkVMCQkJCQkJKmFiZWwudmltKiAqZnQtYWJlbC1zeW50YXgqCiAKIEFCRUwgaGlnaGxpZ2h0aW5nIHByb3ZpZGVzIHNvbWUgdXNlci1kZWZpbmVkIG9wdGlvbnMuICBUbyBlbmFibGUgdGhlbSwgYXNzaWduCiBhbnkgdmFsdWUgdG8gdGhlIHJlc3BlY3RpdmUgdmFyaWFibGUuICBFeGFtcGxlOiA+CkBAIC00NjcsNyArNDY3LDcgQEAKIGFiZWxfY3BwX2NvbW1lbnRzX2lsbGVnYWwJZG8gbm90IGludGVycHJldCAnLy8nIGFzIGlubGluZSBjb21tZW50IGxlYWRlcgogCiAKLUFEQQkJCQkJCQkqYWRhLnZpbSogKmFkYS1zeW50YXgqCitBREEJCQkJCQkqYWRhLnZpbSogKmZ0LWFkYS1zeW50YXgqCiAKIFRoaXMgbW9kZSBpcyBkZXNpZ25lZCBmb3IgdGhlIDE5OTUgZWRpdGlvbiBvZiBBZGEgKCJBZGE5NSIpLCB3aGljaAogaW5jbHVkZXMgc3VwcG9ydCBmb3Igb2JqZWN0ZWQtcHJvZ3JhbW1pbmcsIHByb3RlY3RlZCB0eXBlcywgYW5kIHNvIG9uLgpAQCAtNTE1LDcgKzUxNSw3IEBACiB0aGUgcGVyZm9ybWFuY2UgdW5hY2NlcHRhYmxlLCB0dXJuIG9uIGFkYV93aXRodXNlX29yZGluYXJ5LgogCiAKLUFOVAkJCQkJCSphbnQudmltKiAqYW50LXN5bnRheCoKK0FOVAkJCQkJCSphbnQudmltKiAqZnQtYW50LXN5bnRheCoKIAogVGhlIGFudCBzeW50YXggZmlsZSBwcm92aWRlcyBzeW50YXggaGlnaGxpZ2h0aW5nIGZvciBqYXZhc2NyaXB0IGFuZCBweXRob24KIGJ5IGRlZmF1bHQuICBTeW50YXggaGlnaGxpZ2h0aW5nIGZvciBvdGhlciBzY3JpcHQgbGFuZ3VhZ2VzIGNhbiBiZSBpbnN0YWxsZWQKQEAgLTUzMyw3ICs1MzMsNyBAQAogU2VlIHxteXN5bnRheGZpbGUtYWRkfCBmb3IgaW5zdGFsbGluZyBzY3JpcHQgbGFuZ3VhZ2VzIHBlcm1hbmVudGx5LgogCiAKLUFQQUNIRQkJCQkJCSphcGFjaGUudmltKiAqYXBhY2hlLXN5bnRheCoKK0FQQUNIRQkJCQkJCSphcGFjaGUudmltKiAqZnQtYXBhY2hlLXN5bnRheCoKIAogVGhlIGFwYWNoZSBzeW50YXggZmlsZSBwcm92aWRlcyBzeW50YXggaGlnaGxpZ2h0aW5nIGRlcGVuZGluZyBvbiBBcGFjaGUgSFRUUAogc2VydmVyIHZlcnNpb24sIGJ5IGRlZmF1bHQgZm9yIDEuMy54LiAgU2V0ICJhcGFjaGVfdmVyc2lvbiIgdG8gQXBhY2hlIHZlcnNpb24KQEAgLTU0Myw4ICs1NDMsOCBAQAogPAogCiAJCSphc20udmltKiAqYXNtaDgzMDAudmltKiAqbmFzbS52aW0qICptYXNtLnZpbSogKmFzbTY4ayoKLUFTU0VNQkxZCSphc20tc3ludGF4KiAqYXNtaDgzMDAtc3ludGF4KiAqbmFzbS1zeW50YXgqICptYXNtLXN5bnRheCoKLQkJKmFzbTY4ay1zeW50YXgqICpmYXNtLnZpbSoKK0FTU0VNQkxZCSpmdC1hc20tc3ludGF4KiAqZnQtYXNtaDgzMDAtc3ludGF4KiAqZnQtbmFzbS1zeW50YXgqCisJCSpmdC1tYXNtLXN5bnRheCogKmZ0LWFzbTY4ay1zeW50YXgqICpmYXNtLnZpbSoKIAogRmlsZXMgbWF0Y2hpbmcgIiouaSIgY291bGQgYmUgUHJvZ3Jlc3Mgb3IgQXNzZW1ibHkuICBJZiB0aGUgYXV0b21hdGljIGRldGVjdGlvbgogZG9lc24ndCB3b3JrIGZvciB5b3UsIG9yIHlvdSBkb24ndCBlZGl0IFByb2dyZXNzIGF0IGFsbCwgdXNlIHRoaXMgaW4geW91cgpAQCAtNTk4LDcgKzU5OCw3IEBACiBuYXNtX25vX3dhcm4JCXBvdGVudGlhbGx5IHJpc2t5IHN5bnRheCBub3QgYXMgVG9EbwogCiAKLUFTUFBFUkwgYW5kIEFTUFZCUwkJCSphc3BwZXJsLXN5bnRheCogKmFzcHZicy1zeW50YXgqCitBU1BQRVJMIGFuZCBBU1BWQlMJCQkqZnQtYXNwcGVybC1zeW50YXgqICpmdC1hc3B2YnMtc3ludGF4KgogCiAqLmFzcCBhbmQgKi5hc2EgZmlsZXMgY291bGQgYmUgZWl0aGVyIFBlcmwgb3IgVmlzdWFsIEJhc2ljIHNjcmlwdC4gIFNpbmNlIGl0J3MKIGhhcmQgdG8gZGV0ZWN0IHRoaXMgeW91IGNhbiBzZXQgdHdvIGdsb2JhbCB2YXJpYWJsZXMgdG8gdGVsbCBWaW0gd2hhdCB5b3UgYXJlCkBAIC02MTAsNyArNjEwLDcgQEAKIAk6bGV0IGc6ZmlsZXR5cGVfYXNwID0gImFzcHZicyIKIAogCi1CQVNJQwkJCQkqYmFzaWMudmltKiAqdmIudmltKiAqYmFzaWMtc3ludGF4KiAqdmItc3ludGF4KgorQkFTSUMJCQkqYmFzaWMudmltKiAqdmIudmltKiAqZnQtYmFzaWMtc3ludGF4KiAqZnQtdmItc3ludGF4KgogCiBCb3RoIFZpc3VhbCBCYXNpYyBhbmQgIm5vcm1hbCIgYmFzaWMgdXNlIHRoZSBleHRlbnNpb24gIi5iYXMiLglUbyBkZXRlY3QKIHdoaWNoIG9uZSBzaG91bGQgYmUgdXNlZCwgVmltIGNoZWNrcyBmb3IgdGhlIHN0cmluZyAiVkJfTmFtZSIgaW4gdGhlIGZpcnN0CkBAIC02MTksNyArNjE5LDcgQEAKIEJhc2ljLgogCiAKLUMJCQkJCQkJKmMudmltKiAqYy1zeW50YXgqCitDCQkJCQkJCSpjLnZpbSogKmZ0LWMtc3ludGF4KgogCiBBIGZldyB0aGluZ3MgaW4gQyBoaWdobGlnaHRpbmcgYXJlIG9wdGlvbmFsLiAgVG8gZW5hYmxlIHRoZW0gYXNzaWduIGFueSB2YWx1ZQogdG8gdGhlIHJlc3BlY3RpdmUgdmFyaWFibGUuICBFeGFtcGxlOiA+CkBAIC02ODYsNyArNjg2LDcgQEAKICAgICBzeW4gc3luYyBmcm9tc3RhcnQKICAgICBzZXQgZm9sZG1ldGhvZD1zeW50YXgKIAotQ0gJCQkJCQkqY2gudmltKiAqY2gtc3ludGF4KgorQ0gJCQkJCQkqY2gudmltKiAqZnQtY2gtc3ludGF4KgogCiBDL0MrKyBpbnRlcnByZXRlci4gIENoIGhhcyBzaW1pbGFyIHN5bnRheCBoaWdobGlnaHRpbmcgdG8gQyBhbmQgYnVpbGRzIHVwb24KIHRoZSBDIHN5bnRheCBmaWxlLiAgU2VlIHxjLnZpbXwgZm9yIGFsbCB0aGUgc2V0dGluZ3MgdGhhdCBhcmUgYXZhaWxhYmxlIGZvciBDLgpAQCAtNjk2LDcgKzY5Niw3IEBACiAJOmxldCBjaF9zeW50YXhfZm9yX2ggPSAxCiAKIAotQ0hJTEwJCQkJCQkqY2hpbGwudmltKiAqY2hpbGwtc3ludGF4KgorQ0hJTEwJCQkJCQkqY2hpbGwudmltKiAqZnQtY2hpbGwtc3ludGF4KgogCiBDaGlsbCBzeW50YXggaGlnaGxpZ2h0aW5nIGlzIHNpbWlsYXIgdG8gQy4gIFNlZSB8Yy52aW18IGZvciBhbGwgdGhlIHNldHRpbmdzCiB0aGF0IGFyZSBhdmFpbGFibGUuICBBZGRpdGlvbmFsbHkgdGhlcmUgaXM6CkBAIC03MDYsNyArNzA2LDcgQEAKIGNoaWxsX21pbmxpbmVzCQlsaWtlIGNfbWlubGluZXMKIAogCi1DSEFOR0VMT0cJCQkJKmNoYW5nZWxvZy52aW0qICpjaGFuZ2Vsb2ctc3ludGF4KgorQ0hBTkdFTE9HCQkJCSpjaGFuZ2Vsb2cudmltKiAqZnQtY2hhbmdlbG9nLXN5bnRheCoKIAogQ2hhbmdlTG9nIHN1cHBvcnRzIGhpZ2hsaWdodGluZyBzcGFjZXMgYXQgdGhlIHN0YXJ0IG9mIGEgbGluZS4KIElmIHlvdSBkbyBub3QgbGlrZSB0aGlzLCBhZGQgZm9sbG93aW5nIGxpbmUgdG8geW91ciAudmltcmM6ID4KQEAgLTcyMiw3ICs3MjIsNyBAQAogVGhpcyB3b3JrcyBpbW1lZGlhdGVseS4KIAogCi1DT0JPTAkJCQkJCSpjb2JvbC52aW0qICpjb2JvbC1zeW50YXgqCitDT0JPTAkJCQkJCSpjb2JvbC52aW0qICpmdC1jb2JvbC1zeW50YXgqCiAKIENPQk9MIGhpZ2hsaWdodGluZyBoYXMgZGlmZmVyZW50IG5lZWRzIGZvciBsZWdhY3kgY29kZSB0aGFuIGl0IGRvZXMgZm9yIGZyZXNoCiBkZXZlbG9wbWVudC4gIFRoaXMgaXMgZHVlIHRvIGRpZmZlcmVuY2VzIGluIHdoYXQgaXMgYmVpbmcgZG9uZSAobWFpbnRlbmFuY2UKQEAgLTczMyw3ICs3MzMsNyBAQAogCTp1bmxldCBjb2JvbF9sZWdhY3lfY29kZQogCiAKLUNPTEQgRlVTSU9OCQkJCSpjb2xkZnVzaW9uLnZpbSogKmNvbGRmdXNpb24tc3ludGF4KgorQ09MRCBGVVNJT04JCQkqY29sZGZ1c2lvbi52aW0qICpmdC1jb2xkZnVzaW9uLXN5bnRheCoKIAogVGhlIENvbGRGdXNpb24gaGFzIGl0cyBvd24gdmVyc2lvbiBvZiBIVE1MIGNvbW1lbnRzLiAgVG8gdHVybiBvbiBDb2xkRnVzaW9uCiBjb21tZW50IGhpZ2hsaWdodGluZywgYWRkIHRoZSBmb2xsb3dpbmcgbGluZSB0byB5b3VyIHN0YXJ0dXAgZmlsZTogPgpAQCAtNzQzLDcgKzc0Myw3IEBACiBUaGUgQ29sZEZ1c2lvbiBzeW50YXggZmlsZSBpcyBiYXNlZCBvbiB0aGUgSFRNTCBzeW50YXggZmlsZS4KIAogCi1DU0gJCQkJCQkqY3NoLnZpbSogKmNzaC1zeW50YXgqCitDU0gJCQkJCQkqY3NoLnZpbSogKmZ0LWNzaC1zeW50YXgqCiAKIFRoaXMgY292ZXJzIHRoZSBzaGVsbCBuYW1lZCAiY3NoIi4gIE5vdGUgdGhhdCBvbiBzb21lIHN5c3RlbXMgdGNzaCBpcyBhY3R1YWxseQogdXNlZC4KQEAgLTc2Niw3ICs3NjYsNyBAQAogdmFyaWFibGUuCiAKIAotQ1lOTElCCQkJCQkJKmN5bmxpYi52aW0qICpjeW5saWItc3ludGF4KgorQ1lOTElCCQkJCQkJKmN5bmxpYi52aW0qICpmdC1jeW5saWItc3ludGF4KgogCiBDeW5saWIgZmlsZXMgYXJlIEMrKyBmaWxlcyB0aGF0IHVzZSB0aGUgQ3lubGliIGNsYXNzIGxpYnJhcnkgdG8gZW5hYmxlCiBoYXJkd2FyZSBtb2RlbGxpbmcgYW5kIHNpbXVsYXRpb24gdXNpbmcgQysrLiAgVHlwaWNhbGx5IEN5bmxpYiBmaWxlcyBoYXZlIGEgLmNjCkBAIC03ODYsNyArNzg2LDcgQEAKIAk6dW5sZXQgY3lubGliX2N5bnRheF9mb3JfY3BwCiA8CiAKLUNXRUIJCQkJCQkqY3dlYi52aW0qICpjd2ViLXN5bnRheCoKK0NXRUIJCQkJCQkqY3dlYi52aW0qICpmdC1jd2ViLXN5bnRheCoKIAogRmlsZXMgbWF0Y2hpbmcgIioudyIgY291bGQgYmUgUHJvZ3Jlc3Mgb3IgY3dlYi4gIElmIHRoZSBhdXRvbWF0aWMgZGV0ZWN0aW9uCiBkb2Vzbid0IHdvcmsgZm9yIHlvdSwgb3IgeW91IGRvbid0IGVkaXQgUHJvZ3Jlc3MgYXQgYWxsLCB1c2UgdGhpcyBpbiB5b3VyCkBAIC03OTQsNyArNzk0LDcgQEAKICAgIDpsZXQgZmlsZXR5cGVfdyA9ICJjd2ViIgogCiAKLURFU0tUT1AJCQkJCSAgICpkZXNrdG9wLnZpbSogKmRlc2t0b3Atc3ludGF4KgorREVTS1RPUAkJCQkJICAgKmRlc2t0b3AudmltKiAqZnQtZGVza3RvcC1zeW50YXgqCiAKIFByaW1hcnkgZ29hbCBvZiB0aGlzIHN5bnRheCBmaWxlIGlzIHRvIGhpZ2hsaWdodCAuZGVza3RvcCBhbmQgLmRpcmVjdG9yeSBmaWxlcwogYWNjb3JkaW5nIHRvIGZyZWVkZXNrdG9wLm9yZyBzdGFuZGFyZDogaHR0cDovL3BkeC5mcmVlZGVza3RvcC5vcmcvU3RhbmRhcmRzLwpAQCAtODA0LDcgKzgwNCw3IEBACiAJOmxldCBlbmZvcmNlX2ZyZWVkZXNrdG9wX3N0YW5kYXJkID0gMQogCiAKLURJUkNPTE9SUwkJCSAgICAgICAqZGlyY29sb3JzLnZpbSogKmRpcmNvbG9ycy1zeW50YXgqCitESVJDT0xPUlMJCQkgICAgICAgKmRpcmNvbG9ycy52aW0qICpmdC1kaXJjb2xvcnMtc3ludGF4KgogCiBUaGUgZGlyY29sb3JzIHV0aWxpdHkgaGlnaGxpZ2h0aW5nIGRlZmluaXRpb24gaGFzIG9uZSBvcHRpb24uICBJdCBleGlzdHMgdG8KIHByb3ZpZGUgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBTbGFja3dhcmUgR05VL0xpbnV4IGRpc3RyaWJ1dGlvbnMgdmVyc2lvbiBvZgpAQCAtODE1LDkgKzgxNSw5IEBACiAJbGV0IGRpcmNvbG9yc19pc19zbGFja3dhcmUgPSAxCiAKIAotRE9DQk9PSwkJCQkJKmRvY2JrLnZpbSogKmRvY2JrLXN5bnRheCogKmRvY2Jvb2sqCi1ET0NCT09LCVhNTAkJCQkqZG9jYmt4bWwudmltKiAqZG9jYmt4bWwtc3ludGF4KgotRE9DQk9PSwlTR01MCQkJCSpkb2Nia3NnbWwudmltKiAqZG9jYmtzZ21sLXN5bnRheCoKK0RPQ0JPT0sJCQkJCSpkb2Niay52aW0qICpmdC1kb2Niay1zeW50YXgqICpkb2Nib29rKgorRE9DQk9PSwlYTUwJCQkJKmRvY2JreG1sLnZpbSogKmZ0LWRvY2JreG1sLXN5bnRheCoKK0RPQ0JPT0sJU0dNTAkJCQkqZG9jYmtzZ21sLnZpbSogKmZ0LWRvY2Jrc2dtbC1zeW50YXgqCiAKIFRoZXJlIGFyZSB0d28gdHlwZXMgb2YgRG9jQm9vayBmaWxlczogU0dNTCBhbmQgWE1MLiAgVG8gc3BlY2lmeSB3aGF0IHR5cGUgeW91CiBhcmUgdXNpbmcgdGhlICJiOmRvY2JrX3R5cGUiIHZhcmlhYmxlIHNob3VsZCBiZSBzZXQuICBWaW0gZG9lcyB0aGlzIGZvciB5b3UKQEAgLTgzNCw3ICs4MzQsNyBAQAogCTpzZXQgZmlsZXR5cGU9ZG9jYmt4bWwKIAogCi1ET1NCQVRDSAkJCQkqZG9zYmF0Y2gudmltKiAqZG9zYmF0Y2gtc3ludGF4KgorRE9TQkFUQ0gJCQkJKmRvc2JhdGNoLnZpbSogKmZ0LWRvc2JhdGNoLXN5bnRheCoKIAogVGhlcmUgaXMgb25lIG9wdGlvbiB3aXRoIGhpZ2hsaWdodGluZyBET1MgYmF0Y2ggZmlsZXMuCVRoaXMgY292ZXJzIG5ldwogZXh0ZW5zaW9ucyB0byB0aGUgQ29tbWFuZCBJbnRlcnByZXRlciBpbnRyb2R1Y2VkIHdpdGggV2luZG93cyAyMDAwIGFuZApAQCAtODU3LDcgKzg1Nyw3IEBACiAKIAogCi1EVEQJCQkJCQkqZHRkLnZpbSogKmR0ZC1zeW50YXgqCitEVEQJCQkJCQkqZHRkLnZpbSogKmZ0LWR0ZC1zeW50YXgqCiAKIFRoZSBEVEQgc3ludGF4IGhpZ2hsaWdodGluZyBpcyBjYXNlIHNlbnNpdGl2ZSBieSBkZWZhdWx0LiAgVG8gZGlzYWJsZQogY2FzZS1zZW5zaXRpdmUgaGlnaGxpZ2h0aW5nLCBhZGQgdGhlIGZvbGxvd2luZyBsaW5lIHRvIHlvdXIgc3RhcnR1cCBmaWxlOiA+CkBAIC04ODEsNyArODgxLDcgQEAKIFRoZSBEVEQgc3ludGF4IGZpbGUgaXMgYWxzbyBpbmNsdWRlZCBieSB4bWwudmltIHRvIGhpZ2hsaWdodCBpbmNsdWRlZCBkdGQncy4KIAogCi1FSUZGRUwJCQkJCQkqZWlmZmVsLnZpbSogKmVpZmZlbC1zeW50YXgqCitFSUZGRUwJCQkJCSplaWZmZWwudmltKiAqZnQtZWlmZmVsLXN5bnRheCoKIAogV2hpbGUgRWlmZmVsIGlzIG5vdCBjYXNlLXNlbnNpdGl2ZSwgaXRzIHN0eWxlIGd1aWRlbGluZXMgYXJlLCBhbmQgdGhlCiBzeW50YXggaGlnaGxpZ2h0aW5nIGZpbGUgZW5jb3VyYWdlcyB0aGVpciB1c2UuICBUaGlzIGFsc28gYWxsb3dzIHRvCkBAIC05MjQsNyArOTI0LDcgQEAKIHRvIHlvdXIgc3RhcnR1cCBmaWxlLgogCiAKLUVSTEFORwkJCQkJCSplcmxhbmcudmltKiAqZXJsYW5nLXN5bnRheCoKK0VSTEFORwkJCQkJCSplcmxhbmcudmltKiAqZnQtZXJsYW5nLXN5bnRheCoKIAogVGhlIGVybGFuZyBoaWdobGlnaHRpbmcgc3VwcG9ydHMgRXJsYW5nIChFUmljc3NvbiBMQU5HdWFnZSkuCiBFcmxhbmcgaXMgY2FzZSBzZW5zaXRpdmUgYW5kIGRlZmF1bHQgZXh0ZW5zaW9uIGlzICIuZXJsIi4KQEAgLTkzOSw3ICs5MzksNyBAQAogCTpsZXQgZXJsYW5nX2NoYXJhY3RlcnMgPSAxCiAKIAotRk9STQkJCQkJCSpmb3JtLnZpbSogKmZvcm0tc3ludGF4KgorRk9STQkJCQkJCSpmb3JtLnZpbSogKmZ0LWZvcm0tc3ludGF4KgogCiBUaGUgY29sb3Jpbmcgc2NoZW1lIGZvciBzeW50YXggZWxlbWVudHMgaW4gdGhlIEZPUk0gZmlsZSB1c2VzIHRoZSBkZWZhdWx0CiBtb2RlcyBDb25kaXRpb25hbCwgTnVtYmVyLCBTdGF0ZW1lbnQsIENvbW1lbnQsIFByZVByb2MsIFR5cGUsIGFuZCBTdHJpbmcsCkBAIC05NzMsNyArOTczLDcgQEAKIGNvbmRpdGlvbmFscyBhcmUgTGlnaHRCbHVlIGZvciBiZXR0ZXIgZGlzdGluY3Rpb24uCiAKIAotRk9SVFJBTgkJCQkJKmZvcnRyYW4udmltKiAqZm9ydHJhbi1zeW50YXgqCitGT1JUUkFOCQkJCQkqZm9ydHJhbi52aW0qICpmdC1mb3J0cmFuLXN5bnRheCoKIAogRGVmYXVsdCBoaWdobGlnaHRpbmcgYW5kIGRpYWxlY3QgfgogSGlnaGxpZ2h0aW5nIGFwcHJvcHJpYXRlIGZvciBmOTUgKEZvcnRyYW4gOTUpIGlzIHVzZWQgYnkgZGVmYXVsdC4gIFRoaXMgY2hvaWNlCkBAIC0xMTE0LDExICsxMTE0LDExIEBACiBzdHJpbmdzIGFyZSBub3QgcmVjb2duaXplZC4gIFNvbWUga2V5d29yZHMgbWF5IGJlIGhpZ2hsaWdodGVkIGluY29ycmVjdGx5CiBiZWNhdXNlIEZvcnRyYW45MCBoYXMgbm8gcmVzZXJ2ZWQgd29yZHMuCiAKLUZvciBmdXJ0aGVyIGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gZm9ydHJhbiwgc2VlIHxmb3J0cmFuLWluZGVudHwgYW5kCi18Zm9ydHJhbi1wbHVnaW58LgorRm9yIGZ1cnRoZXIgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBmb3J0cmFuLCBzZWUgfGZ0LWZvcnRyYW4taW5kZW50fCBhbmQKK3xmdC1mb3J0cmFuLXBsdWdpbnwuCiAKIAotRlZXTSBDT05GSUdVUkFUSU9OIEZJTEVTCQkJKmZ2d20udmltKiAqZnZ3bS1zeW50YXgqCitGVldNIENPTkZJR1VSQVRJT04gRklMRVMJCQkqZnZ3bS52aW0qICpmdC1mdndtLXN5bnRheCoKIAogSW4gb3JkZXIgZm9yIFZpbSB0byByZWNvZ25pemUgRnZ3bSBjb25maWd1cmF0aW9uIGZpbGVzIHRoYXQgZG8gbm90IG1hdGNoCiB0aGUgcGF0dGVybnMgKmZ2d21yYyogb3IgKmZ2d20ycmMqICwgeW91IG11c3QgcHV0IGFkZGl0aW9uYWwgcGF0dGVybnMKQEAgLTExNDIsNyArMTE0Miw3IEBACiB0byB5b3VyIC52aW1yYyBmaWxlLgogCiAKLUdTUAkJCQkJCQkqZ3NwLnZpbSoKK0dTUAkJCQkJCSpnc3AudmltKiAqZnQtZ3NwLXN5bnRheCoKIAogVGhlIGRlZmF1bHQgY29sb3Jpbmcgc3R5bGUgZm9yIEdTUCBwYWdlcyBpcyBkZWZpbmVkIGJ5IHxodG1sLnZpbXwsIGFuZAogdGhlIGNvbG9yaW5nIGZvciBqYXZhIGNvZGUgKHdpdGhpbiBqYXZhIHRhZ3Mgb3IgaW5saW5lIGJldHdlZW4gYmFja3RpY2tzKQpAQCAtMTE2NSw3ICsxMTY1LDcgQEAKIGdyb3VwIHRvIG1ha2UgdGhlbSBlYXNpZXIgdG8gc2VlLgogCiAKLUdST0ZGCQkJCQkJKmdyb2ZmLnZpbSogKmdyb2ZmLXN5bnRheCoKK0dST0ZGCQkJCQkJKmdyb2ZmLnZpbSogKmZ0LWdyb2ZmLXN5bnRheCoKIAogVGhlIGdyb2ZmIHN5bnRheCBmaWxlIGlzIGEgd3JhcHBlciBmb3IgfG5yb2ZmLnZpbXwsIHNlZSB0aGUgbm90ZXMKIHVuZGVyIHRoYXQgaGVhZGluZyBmb3IgZXhhbXBsZXMgb2YgdXNlIGFuZCBjb25maWd1cmF0aW9uLiAgVGhlIHB1cnBvc2UKQEAgLTExNzQsNyArMTE3NCw3IEBACiAoc2VlIHxmaWxldHlwZS50eHR8KS4KIAogCi1IQVNLRUxMCQkJICAgICAqaGFza2VsbC52aW0qICpsaGFza2VsbC52aW0qICpoYXNrZWxsLXN5bnRheCoKK0hBU0tFTEwJCQkgICAgICpoYXNrZWxsLnZpbSogKmxoYXNrZWxsLnZpbSogKmZ0LWhhc2tlbGwtc3ludGF4KgogCiBUaGUgSGFza2VsbCBzeW50YXggZmlsZXMgc3VwcG9ydCBwbGFpbiBIYXNrZWxsIGNvZGUgYXMgd2VsbCBhcyBsaXRlcmF0ZQogSGFza2VsbCBjb2RlLCB0aGUgbGF0dGVyIGluIGJvdGggQmlyZCBzdHlsZSBhbmQgVGVYIHN0eWxlLiAgVGhlIEhhc2tlbGwKQEAgLTEyMTgsNyArMTIxOCw3IEBACiBsb2FkaW5nIGEgZmlsZS4KIAogCi1IVE1MCQkJCQkJKmh0bWwudmltKiAqaHRtbC1zeW50YXgqCitIVE1MCQkJCQkJKmh0bWwudmltKiAqZnQtaHRtbC1zeW50YXgqCiAKIFRoZSBjb2xvcmluZyBzY2hlbWUgZm9yIHRhZ3MgaW4gdGhlIEhUTUwgZmlsZSB3b3JrcyBhcyBmb2xsb3dzLgogCkBAIC0xMjkxLDcgKzEyOTEsNyBAQAogdGhlIHByZXByb2Nlc3NvciBsYW5ndWFnZSB0byB0aGUgY2x1c3RlciBodG1sUHJlcHJvYy4KIAogCi1IVE1ML09TIChieSBBZXN0aXZhKQkJCQkqaHRtbG9zLnZpbSogKmh0bWxvcy1zeW50YXgqCitIVE1ML09TIChieSBBZXN0aXZhKQkJCQkqaHRtbG9zLnZpbSogKmZ0LWh0bWxvcy1zeW50YXgqCiAKIFRoZSBjb2xvcmluZyBzY2hlbWUgZm9yIEhUTUwvT1Mgd29ya3MgYXMgZm9sbG93czoKIApAQCAtMTMxMiw3ICsxMzEyLDcgQEAKIGJsb2NrIG9mIEhUTUwvT1MgY29kZSBjYW4gZWl0aGVyIGJlIDw8IG9yIFtbIGFuZCA+PiBvciBdXSwgcmVzcGVjdGl2ZWx5LgogCiAKLUlBNjQJCQkJKmlhNjQudmltKiAqaW50ZWwtaXRhbml1bSogKmlhNjQtc3ludGF4KgorSUE2NAkJCQkqaWE2NC52aW0qICppbnRlbC1pdGFuaXVtKiAqZnQtaWE2NC1zeW50YXgqCiAKIEhpZ2hsaWdodGluZyBmb3IgdGhlIEludGVsIEl0YW5pdW0gNjQgYXNzZW1ibHkgbGFuZ3VhZ2UuICBTZWUgfGFzbS52aW18IGZvcgogaG93IHRvIHJlY29nbml6ZSB0aGlzIGZpbGV0eXBlLgpAQCAtMTMyMSw3ICsxMzIxLDcgQEAKIAk6bGV0IGc6ZmlsZXR5cGVfaW5jID0gImlhNjQiCiAKIAotSU5GT1JNCQkJCQkJKmluZm9ybS52aW0qICppbmZvcm0tc3ludGF4KgorSU5GT1JNCQkJCQkJKmluZm9ybS52aW0qICpmdC1pbmZvcm0tc3ludGF4KgogCiBJbmZvcm0gaGlnaGxpZ2h0aW5nIGluY2x1ZGVzIHN5bWJvbHMgcHJvdmlkZWQgYnkgdGhlIEluZm9ybSBMaWJyYXJ5LCBhcwogbW9zdCBwcm9ncmFtcyBtYWtlIGV4dGVuc2l2ZSB1c2Ugb2YgaXQuICBJZiBkbyBub3Qgd2lzaCBMaWJyYXJ5IHN5bWJvbHMKQEAgLTEzNTAsNyArMTM1MCw3IEBACiAJOmxldCBpbmZvcm1faGlnaGxpZ2h0X29sZD0xCiAKIAotSkFWQQkJCQkJCSpqYXZhLnZpbSogKmphdmEtc3ludGF4KgorSkFWQQkJCQkJCSpqYXZhLnZpbSogKmZ0LWphdmEtc3ludGF4KgogCiBUaGUgamF2YS52aW0gc3ludGF4IGhpZ2hsaWdodGluZyBmaWxlIG9mZmVycyBzZXZlcmFsIG9wdGlvbnM6CiAKQEAgLTE0NDMsNyArMTQ0Myw3IEBACiBudW1iZXIgaXMgdGhhdCByZWRyYXdpbmcgY2FuIGJlY29tZSBzbG93LgogCiAKLUxBQ0UJCQkJCQkqbGFjZS52aW0qICpsYWNlLXN5bnRheCoKK0xBQ0UJCQkJCQkqbGFjZS52aW0qICpmdC1sYWNlLXN5bnRheCoKIAogTGFjZSAoTGFuZ3VhZ2UgZm9yIEFzc2VtYmx5IG9mIENsYXNzZXMgaW4gRWlmZmVsKSBpcyBjYXNlIGluc2Vuc2l0aXZlLCBidXQgdGhlCiBzdHlsZSBndWlkZSBsaW5lcyBhcmUgbm90LiAgSWYgeW91IHByZWZlciBjYXNlIGluc2Vuc2l0aXZlIGhpZ2hsaWdodGluZywganVzdApAQCAtMTQ1MSw3ICsxNDUxLDcgQEAKIAk6bGV0IGxhY2VfY2FzZV9pbnNlbnNpdGl2ZT0xCiAKIAotTEVYCQkJCQkJKmxleC52aW0qICpsZXgtc3ludGF4KgorTEVYCQkJCQkJKmxleC52aW0qICpmdC1sZXgtc3ludGF4KgogCiBMZXggdXNlcyBicnV0ZS1mb3JjZSBzeW5jaHJvbml6aW5nIGFzIHRoZSAiXiUlJCIgc2VjdGlvbiBkZWxpbWl0ZXIKIGdpdmVzIG5vIGNsdWUgYXMgdG8gd2hhdCBzZWN0aW9uIGZvbGxvd3MuICBDb25zZXF1ZW50bHksIHRoZSB2YWx1ZSBmb3IgPgpAQCAtMTQ2MCw3ICsxNDYwLDcgQEAKIGRpZmZpY3VsdGllcyAoc3VjaCBhcyBtYXkgaGFwcGVuIHdpdGggbGFyZ2UgbGV4IGZpbGVzKS4KIAogCi1MSVRFCQkJCQkJKmxpdGUudmltKiAqbGl0ZS1zeW50YXgqCitMSVRFCQkJCQkJKmxpdGUudmltKiAqZnQtbGl0ZS1zeW50YXgqCiAKIFRoZXJlIGFyZSB0d28gb3B0aW9ucyBmb3IgdGhlIGxpdGUgc3ludGF4IGhpZ2hsaWdodGluZy4KIApAQCAtMTQ3NCw3ICsxNDc0LDcgQEAKIAk6bGV0IGxpdGVfbWlubGluZXMgPSAyMDAKIAogCi1MUEMJCQkJCQkqbHBjLnZpbSogKmxwYy1zeW50YXgqCitMUEMJCQkJCQkqbHBjLnZpbSogKmZ0LWxwYy1zeW50YXgqCiAKIExQQyBzdGFuZHMgZm9yIGEgc2ltcGxlLCBtZW1vcnktZWZmaWNpZW50IGxhbmd1YWdlOiBMYXJzIFBlbnNqfCBDLiAgVGhlCiBmaWxlIG5hbWUgb2YgTFBDIGlzIHVzdWFsbHkgKi5jLiAgUmVjb2duaXppbmcgdGhlc2UgZmlsZXMgYXMgTFBDIHdvdWxkIGJvdGhlcgpAQCAtMTUxNSw3ICsxNTE1LDcgQEAKIGluc3RlYWQsIGFuZCB0aGUgbmFtZSBvZiB5b3VyIHNvdXJjZSBmaWxlIHNob3VsZCBiZSAqLnBpa2UKIAogCi1MVUEJCQkJCQkqbHVhLnZpbSogKmx1YS1zeW50YXgqCitMVUEJCQkJCQkqbHVhLnZpbSogKmZ0LWx1YS1zeW50YXgqCiAKIFRoaXMgc3ludGF4IGZpbGUgbWF5IGJlIHVzZWQgZm9yIEx1YSA0LjAgYW5kIEx1YSA1LjAgKGRlZmF1bHQpLiAgSWYgeW91IGFyZQogcHJvZ3JhbW1pbmcgaW4gTHVhIDQuMCwgdXNlIHRoaXM6ID4KQEAgLTE1MjUsNyArMTUyNSw3IEBACiBJZiBsdWFfdmVyc2lvbiB2YXJpYWJsZSBkb2Vzbid0IGV4aXN0LCBpdCBpcyBzZXQgdG8gNS4KIAogCi1NQUlMCQkJCQkJCQkqbWFpbC52aW0qCitNQUlMCQkJCQkJKm1haWwudmltKiAqZnQtbWFpbC52aW0qCiAKIFZpbSBoaWdobGlnaHRzIGFsbCB0aGUgc3RhbmRhcmQgZWxlbWVudHMgb2YgYW4gZW1haWwgKGhlYWRlcnMsIHNpZ25hdHVyZXMsCiBxdW90ZWQgdGV4dCBhbmQgVVJMcyAvIGVtYWlsIGFkZHJlc3NlcykuICBJbiBrZWVwaW5nIHdpdGggc3RhbmRhcmQgY29udmVudGlvbnMsCkBAIC0xNTQzLDcgKzE1NDMsNyBAQAogICAgIDpsZXQgbWFpbF9taW5saW5lcyA9IDMwCiAKIAotTUFLRQkJCQkJCSptYWtlLnZpbSogKm1ha2Utc3ludGF4KgorTUFLRQkJCQkJCSptYWtlLnZpbSogKmZ0LW1ha2Utc3ludGF4KgogCiBJbiBtYWtlZmlsZXMsIGNvbW1hbmRzIGFyZSB1c3VhbGx5IGhpZ2hsaWdodGVkIHRvIG1ha2UgaXQgZWFzeSBmb3IgeW91IHRvIHNwb3QKIGVycm9ycy4gIEhvd2V2ZXIsIHRoaXMgbWF5IGJlIHRvbyBtdWNoIGNvbG9yaW5nIGZvciB5b3UuICBZb3UgY2FuIHR1cm4gdGhpcwpAQCAtMTU1Miw3ICsxNTUyLDcgQEAKIAk6bGV0IG1ha2Vfbm9fY29tbWFuZHMgPSAxCiAKIAotTUFQTEUJCQkJCQkqbWFwbGUudmltKiAqbWFwbGUtc3ludGF4KgorTUFQTEUJCQkJCQkqbWFwbGUudmltKiAqZnQtbWFwbGUtc3ludGF4KgogCiBNYXBsZSBWLCBieSBXYXRlcmxvbyBNYXBsZSBJbmMsIHN1cHBvcnRzIHN5bWJvbGljIGFsZ2VicmEuICBUaGUgbGFuZ3VhZ2UKIHN1cHBvcnRzIG1hbnkgcGFja2FnZXMgb2YgZnVuY3Rpb25zIHdoaWNoIGFyZSBzZWxlY3RpdmVseSBsb2FkZWQgYnkgdGhlIHVzZXIuCkBAIC0xNTc3LDcgKzE1NzcsNyBAQAogICBtdl9maW5hbmNlCSBtdl9sb2dpYwltdl9wb3dzZXJpZXMKIAogCi1NQVRIRU1BVElDQQkJCSptbWEudmltKiAqbW1hLXN5bnRheCogKm1hdGhlbWF0aWNhLXN5bnRheCoKK01BVEhFTUFUSUNBCQkqbW1hLnZpbSogKmZ0LW1tYS1zeW50YXgqICpmdC1tYXRoZW1hdGljYS1zeW50YXgqCiAKIEVtcHR5ICoubSBmaWxlcyB3aWxsIGF1dG9tYXRpY2FsbHkgYmUgcHJlc3VtZWQgdG8gYmUgTWF0bGFiIGZpbGVzIHVubGVzcyB5b3UKIGhhdmUgdGhlIGZvbGxvd2luZyBpbiB5b3VyIC52aW1yYzogPgpAQCAtMTU4NSw3ICsxNTg1LDcgQEAKIAlsZXQgZmlsZXR5cGVfbSA9ICJtbWEiCiAKIAotTU9PCQkJCQkJKm1vby52aW0qICptb28tc3ludGF4KgorTU9PCQkJCQkJKm1vby52aW0qICpmdC1tb28tc3ludGF4KgogCiBJZiB5b3UgdXNlIEMtc3R5bGUgY29tbWVudHMgaW5zaWRlIGV4cHJlc3Npb25zIGFuZCBmaW5kIGl0IG1hbmdsZXMgeW91cgogaGlnaGxpZ2h0aW5nLCB5b3UgbWF5IHdhbnQgdG8gdXNlIGV4dGVuZGVkIChzbG93ISkgbWF0Y2hlcyBmb3IgQy1zdHlsZQpAQCAtMTYyMSw3ICsxNjIxLDcgQEAKIAk6c3luIGtleXdvcmQgbW9vS25vd25CdWlsdGluRnVuY3Rpb24gc3ByaW50ZiBjb250YWluZWQKIAogCi1NU1FMCQkJCQkJKm1zcWwudmltKiAqbXNxbC1zeW50YXgqCitNU1FMCQkJCQkJKm1zcWwudmltKiAqZnQtbXNxbC1zeW50YXgqCiAKIFRoZXJlIGFyZSB0d28gb3B0aW9ucyBmb3IgdGhlIG1zcWwgc3ludGF4IGhpZ2hsaWdodGluZy4KIApAQCAtMTYzNSw3ICsxNjM1LDcgQEAKIAk6bGV0IG1zcWxfbWlubGluZXMgPSAyMDAKIAogCi1OQ0YJCQkJCQkqbmNmLnZpbSogKm5jZi1zeW50YXgqCitOQ0YJCQkJCQkqbmNmLnZpbSogKmZ0LW5jZi1zeW50YXgqCiAKIFRoZXJlIGlzIG9uZSBvcHRpb24gZm9yIE5DRiBzeW50YXggaGlnaGxpZ2h0aW5nLgogCkBAIC0xNjQ3LDcgKzE2NDcsNyBAQAogSWYgeW91IGRvbid0IHdhbnQgdG8gaGlnaGxpZ2h0IHRoZXNlIGVycm9ycywgbGVhdmUgaXQgdW5zZXQuCiAKIAotTlJPRkYJCQkJCQkqbnJvZmYudmltKiAqbnJvZmYtc3ludGF4KgorTlJPRkYJCQkJCQkqbnJvZmYudmltKiAqZnQtbnJvZmYtc3ludGF4KgogCiBUaGUgbnJvZmYgc3ludGF4IGZpbGUgd29ya3Mgd2l0aCBBVCZUIG4vdHJvZmYgb3V0IG9mIHRoZSBib3guICBZb3UgbmVlZCB0bwogYWN0aXZhdGUgdGhlIEdOVSBncm9mZiBleHRyYSBmZWF0dXJlcyBpbmNsdWRlZCBpbiB0aGUgc3ludGF4IGZpbGUgYmVmb3JlIHlvdQpAQCAtMTcxOCw3ICsxNzE4LDcgQEAKIGdyb2ZmIHN5bnRheCBoaWdobGlnaHRpbmcgZWl0aGVyIG9uIGEgZmlsZSBiYXNpcyBvciBnbG9iYWxseSBieSBkZWZhdWx0LgogCiAKLU9DQU1MCQkJCQkJKm9jYW1sLnZpbSogKm9jYW1sLXN5bnRheCoKK09DQU1MCQkJCQkJKm9jYW1sLnZpbSogKmZ0LW9jYW1sLXN5bnRheCoKIAogVGhlIE9DYW1sIHN5bnRheCBmaWxlIGhhbmRsZXMgZmlsZXMgaGF2aW5nIHRoZSBmb2xsb3dpbmcgcHJlZml4ZXM6IC5tbCwKIC5tbGksIC5tbGwgYW5kIC5tbHkuICBCeSBzZXR0aW5nIHRoZSBmb2xsb3dpbmcgdmFyaWFibGUgPgpAQCAtMTczNCw3ICsxNzM0LDcgQEAKIGNvbnRhaW4gdmVyeSBsb25nIHN0cnVjdHVyZXMgdGhhdCBWaW0gZG9lcyBub3Qgc3luY2hyb25pemUgYW55bW9yZS4KIAogCi1QQVBQCQkJCQkJKnBhcHAudmltKiAqcGFwcC1zeW50YXgqCitQQVBQCQkJCQkJKnBhcHAudmltKiAqZnQtcGFwcC1zeW50YXgqCiAKIFRoZSBQQXBwIHN5bnRheCBmaWxlIGhhbmRsZXMgLnBhcHAgZmlsZXMgYW5kLCB0byBhIGxlc3NlciBleHRlbmQsIC5weG1sCiBhbmQgLnB4c2wgZmlsZXMgd2hpY2ggYXJlIGFsbCBhIG1peHR1cmUgb2YgcGVybC94bWwvaHRtbC9vdGhlciB1c2luZyB4bWwKQEAgLTE3NTIsNyArMTc1Miw3IEBACiBodHRwOi8vcGFwcC5wbGFuOS5kZS4KIAogCi1QQVNDQUwJCQkJCQkqcGFzY2FsLnZpbSogKnBhc2NhbC1zeW50YXgqCitQQVNDQUwJCQkJCQkqcGFzY2FsLnZpbSogKmZ0LXBhc2NhbC1zeW50YXgqCiAKIEZpbGVzIG1hdGNoaW5nICIqLnAiIGNvdWxkIGJlIFByb2dyZXNzIG9yIFBhc2NhbC4gIElmIHRoZSBhdXRvbWF0aWMgZGV0ZWN0aW9uCiBkb2Vzbid0IHdvcmsgZm9yIHlvdSwgb3IgeW91IGRvbid0IGVkaXQgUHJvZ3Jlc3MgYXQgYWxsLCB1c2UgdGhpcyBpbiB5b3VyCkBAIC0xODA2LDcgKzE4MDYsNyBAQAogCiAKIAotUEVSTAkJCQkJCSpwZXJsLnZpbSogKnBlcmwtc3ludGF4KgorUEVSTAkJCQkJCSpwZXJsLnZpbSogKmZ0LXBlcmwtc3ludGF4KgogCiBUaGVyZSBhcmUgYSBudW1iZXIgb2YgcG9zc2libGUgb3B0aW9ucyB0byB0aGUgcGVybCBzeW50YXggaGlnaGxpZ2h0aW5nLgogCkBAIC0xODY2LDcgKzE4NjYsNyBAQAogCTpsZXQgcGVybF9mb2xkX2Jsb2NrcyA9IDEKIAogCi1QSFAzIGFuZCBQSFA0CQkqcGhwLnZpbSogKnBocDMudmltKiAqcGhwLXN5bnRheCogKnBocDMtc3ludGF4KgorUEhQMyBhbmQgUEhQNAkJKnBocC52aW0qICpwaHAzLnZpbSogKmZ0LXBocC1zeW50YXgqICpmdC1waHAzLXN5bnRheCoKIAogW25vdGU6IHByZXZpb3VzbHkgdGhpcyB3YXMgY2FsbGVkICJwaHAzIiwgYnV0IHNpbmNlIGl0IG5vdyBhbHNvIHN1cHBvcnRzIHBocDQKIGl0IGhhcyBiZWVuIHJlbmFtZWQgdG8gInBocCJdCkBAIC0xOTE5LDcgKzE5MTksNyBAQAogeCA9IDAgdG8gc3luYyBmcm9tIHN0YXJ0LgogCiAKLVBQV0laQVJECQkJCQkqcHB3aXoudmltKiAqcHB3aXotc3ludGF4KgorUFBXSVpBUkQJCQkJCSpwcHdpei52aW0qICpmdC1wcHdpei1zeW50YXgqCiAKIFBQV2l6YXJkIGlzIGEgcHJlcHJvY2Vzc29yIGZvciBIVE1MIGFuZCBPUy8yIElORiBmaWxlcwogCkBAIC0xOTQxLDcgKzE5NDEsNyBAQAogICBIVE1MIGNvZGU7IGlmIDAsIHRyZWF0IEhUTUwgY29kZSBsaWtlIG9yZGluYXJ5IHRleHQuCiAKIAotUEhUTUwJCQkJCQkqcGh0bWwudmltKiAqcGh0bWwtc3ludGF4KgorUEhUTUwJCQkJCQkqcGh0bWwudmltKiAqZnQtcGh0bWwtc3ludGF4KgogCiBUaGVyZSBhcmUgdHdvIG9wdGlvbnMgZm9yIHRoZSBwaHRtbCBzeW50YXggaGlnaGxpZ2h0aW5nLgogCkBAIC0xOTU1LDcgKzE5NTUsNyBAQAogCTpsZXQgcGh0bWxfbWlubGluZXMgPSAyMDAKIAogCi1QT1NUU0NSSVBUCQkJCQkqcG9zdHNjci52aW0qICpwb3N0c2NyLXN5bnRheCoKK1BPU1RTQ1JJUFQJCQkJKnBvc3RzY3IudmltKiAqZnQtcG9zdHNjci1zeW50YXgqCiAKIFRoZXJlIGFyZSBzZXZlcmFsIG9wdGlvbnMgd2hlbiBpdCBjb21lcyB0byBoaWdobGlnaHRpbmcgUG9zdFNjcmlwdC4KIApAQCAtMjAxMCw4ICsyMDEwLDggQEAKIAk6bGV0IHBvc3RzY3JfYW5kb3Jub3RfYmluYXJ5PTEKIDwKIAotCQkJKnB0Y2FwLnZpbSoKLVBSSU5UQ0FQICsgVEVSTUNBUAkqcHRjYXAtc3ludGF4KiAqdGVybWNhcC1zeW50YXgqICpwcmludGNhcC1zeW50YXgqCisJCQkqcHRjYXAudmltKiAqZnQtcHJpbnRjYXAtc3ludGF4KgorUFJJTlRDQVAgKyBURVJNQ0FQCSpmdC1wdGNhcC1zeW50YXgqICpmdC10ZXJtY2FwLXN5bnRheCoKIAogVGhpcyBzeW50YXggZmlsZSBhcHBsaWVzIHRvIHRoZSBwcmludGNhcCBhbmQgdGVybWNhcCBkYXRhYmFzZXMuCiAKQEAgLTIwMzYsNyArMjAzNiw3IEBACiAoVGhlIGRlZmF1bHQgaXMgMjAgbGluZXMuKQogCiAKLVBST0dSRVNTCQkJCSpwcm9ncmVzcy52aW0qICpwcm9ncmVzcy1zeW50YXgqCitQUk9HUkVTUwkJCQkqcHJvZ3Jlc3MudmltKiAqZnQtcHJvZ3Jlc3Mtc3ludGF4KgogCiBGaWxlcyBtYXRjaGluZyAiKi53IiBjb3VsZCBiZSBQcm9ncmVzcyBvciBjd2ViLiAgSWYgdGhlIGF1dG9tYXRpYyBkZXRlY3Rpb24KIGRvZXNuJ3Qgd29yayBmb3IgeW91LCBvciB5b3UgZG9uJ3QgZWRpdCBjd2ViIGF0IGFsbCwgdXNlIHRoaXMgaW4geW91cgpAQCAtMjA0OCw3ICsyMDQ4LDcgQEAKICAgIDpsZXQgZmlsZXR5cGVfcCA9ICJwcm9ncmVzcyIKIAogCi1QWVRIT04JCQkJCQkqcHl0aG9uLnZpbSogKnB5dGhvbi1zeW50YXgqCitQWVRIT04JCQkJCQkqcHl0aG9uLnZpbSogKmZ0LXB5dGhvbi1zeW50YXgqCiAKIFRoZXJlIGFyZSBmb3VyIG9wdGlvbnMgdG8gY29udHJvbCBQeXRob24gc3ludGF4IGhpZ2hsaWdodGluZy4KIApAQCAtMjA2OSw3ICsyMDY5LDcgQEAKIAk6bGV0IHB5dGhvbl9oaWdobGlnaHRfYWxsID0gMQogCiAKLVFVQUtFCQkJCQkJKnF1YWtlLnZpbSogKnF1YWtlLXN5bnRheCoKK1FVQUtFCQkJCQkJKnF1YWtlLnZpbSogKmZ0LXF1YWtlLXN5bnRheCoKIAogVGhlIFF1YWtlIHN5bnRheCBkZWZpbml0aW9uIHNob3VsZCB3b3JrIGZvciBtb3N0IGFueSBGUFMgKEZpcnN0IFBlcnNvbgogU2hvb3RlcikgYmFzZWQgb24gb25lIG9mIHRoZSBRdWFrZSBlbmdpbmVzLiAgSG93ZXZlciwgdGhlIGNvbW1hbmQgbmFtZXMgdmFyeQpAQCAtMjA5MSw3ICsyMDkxLDcgQEAKIGNvbW1hbmRzIHRoYW4gYXJlIGFjdHVhbGx5IGF2YWlsYWJsZSB0byB5b3UgYnkgdGhlIGdhbWUuCiAKIAotUkVBRExJTkUJCQkJKnJlYWRsaW5lLnZpbSogKnJlYWRsaW5lLXN5bnRheCoKK1JFQURMSU5FCQkJCSpyZWFkbGluZS52aW0qICpmdC1yZWFkbGluZS1zeW50YXgqCiAKIFRoZSByZWFkbGluZSBsaWJyYXJ5IGlzIHByaW1hcmlseSB1c2VkIGJ5IHRoZSBCQVNIIHNoZWxsLCB3aGljaCBhZGRzIHF1aXRlIGEKIGZldyBjb21tYW5kcyBhbmQgb3B0aW9ucyB0byB0aGUgb25lcyBhbHJlYWR5IGF2YWlsYWJsZS4gIFRvIGhpZ2hsaWdodCB0aGVzZQpAQCAtMjEwMyw3ICsyMTAzLDcgQEAKIGxhdGVyLCBhbmQgcGFydCBlYXJsaWVyKSBhZGRzLgogCiAKLVJFWFgJCQkJCQkqcmV4eC52aW0qICpyZXh4LXN5bnRheCoKK1JFWFgJCQkJCQkqcmV4eC52aW0qICpmdC1yZXh4LXN5bnRheCoKIAogSWYgeW91IG5vdGljZSBoaWdobGlnaHRpbmcgZXJyb3JzIHdoaWxlIHNjcm9sbGluZyBiYWNrd2FyZHMsIHdoaWNoIGFyZSBmaXhlZAogd2hlbiByZWRyYXdpbmcgd2l0aCBDVFJMLUwsIHRyeSBzZXR0aW5nIHRoZSAicmV4eF9taW5saW5lcyIgaW50ZXJuYWwgdmFyaWFibGUKQEAgLTIxMTQsNyArMjExNCw3IEBACiBudW1iZXIgaXMgdGhhdCByZWRyYXdpbmcgY2FuIGJlY29tZSBzbG93LgogCiAKLVJVQlkJCQkJCQkqcnVieS52aW0qICpydWJ5LXN5bnRheCoKK1JVQlkJCQkJCQkqcnVieS52aW0qICpmdC1ydWJ5LXN5bnRheCoKIAogVGhlcmUgYXJlIGEgZmV3IG9wdGlvbnMgdG8gdGhlIFJ1Ynkgc3ludGF4IGhpZ2hsaWdodGluZy4KIApAQCAtMjEzOSw3ICsyMTM5LDcgQEAKICIkZ2xvYmFsX3ZhciIsICJAaW5zdGFuY2VfdmFyIiwgInwgaXRlcmF0b3IgfCIsIGFuZCAiOnN5bWJvbCIuCiAKIAotU0NIRU1FCQkJCQkJKnNjaGVtZS52aW0qICpzY2hlbWUtc3ludGF4KgorU0NIRU1FCQkJCQkJKnNjaGVtZS52aW0qICpmdC1zY2hlbWUtc3ludGF4KgogCiBCeSBkZWZhdWx0IG9ubHkgUjVSUyBrZXl3b3JkcyBhcmUgaGlnaGxpZ2h0ZWQgYW5kIHByb3Blcmx5IGluZGVudGVkLgogCkBAIC0yMTUwLDcgKzIxNTAsNyBAQAogYjppc19jaGlja2VuIG9yIGc6aXNfY2hpY2tlbiwgaWYgeW91IG5lZWQgdGhlbS4KIAogCi1TREwJCQkJCQkqc2RsLnZpbSogKnNkbC1zeW50YXgqCitTREwJCQkJCQkqc2RsLnZpbSogKmZ0LXNkbC1zeW50YXgqCiAKIFRoZSBTREwgaGlnaGxpZ2h0aW5nIHByb2JhYmx5IG1pc3NlcyBhIGZldyBrZXl3b3JkcywgYnV0IFNETCBoYXMgc28gbWFueQogb2YgdGhlbSBpdCdzIGFsbW9zdCBpbXBvc3NpYmx5IHRvIGNvcGUuCkBAIC0yMTcwLDcgKzIxNzAsNyBAQAogc2F0aXNmaWVkIHdpdGggaXQgZm9yIG15IG93biBwcm9qZWN0cy4KIAogCi1TRUQJCQkJCQkqc2VkLnZpbSogKnNlZC1zeW50YXgqCitTRUQJCQkJCQkqc2VkLnZpbSogKmZ0LXNlZC1zeW50YXgqCiAKIFRvIG1ha2UgdGFicyBzdGFuZCBvdXQgZnJvbSByZWd1bGFyIGJsYW5rcyAoYWNjb21wbGlzaGVkIGJ5IHVzaW5nIFRvZG8KIGhpZ2hsaWdodGluZyBvbiB0aGUgdGFicyksIGRlZmluZSAiaGlnaGxpZ2h0X3NlZHRhYnMiIGJ5IHB1dHRpbmcgPgpAQCAtMjE5Myw3ICsyMTkzLDcgQEAKICAgZWFjaCBwbGF1c2libGUgcGF0dGVybiBkZWxpbWl0ZXIpLgogCiAKLVNHTUwJCQkJCQkqc2dtbC52aW0qICpzZ21sLXN5bnRheCoKK1NHTUwJCQkJCQkqc2dtbC52aW0qICpmdC1zZ21sLXN5bnRheCoKIAogVGhlIGNvbG9yaW5nIHNjaGVtZSBmb3IgdGFncyBpbiB0aGUgU0dNTCBmaWxlIHdvcmtzIGFzIGZvbGxvd3MuCiAKQEAgLTIyMzQsNyArMjIzNCw3IEBACiAoQWRhcHRlZCBmcm9tIHRoZSBodG1sLnZpbSBoZWxwIHRleHQgYnkgQ2xhdWRpbyBGbGVpbmVyIDxjbGF1ZGlvQGZsZWluZXIuY29tPikKIAogCi1TSAkJCSpzaC52aW0qICpzaC1zeW50YXgqICpiYXNoLXN5bnRheCogKmtzaC1zeW50YXgqCitTSAkJKnNoLnZpbSogKmZ0LXNoLXN5bnRheCogKmZ0LWJhc2gtc3ludGF4KiAqZnQta3NoLXN5bnRheCoKIAogVGhpcyBjb3ZlcnMgdGhlICJub3JtYWwiIFVuaXggKEJvdXJuZSkgc2gsIGJhc2ggYW5kIHRoZSBLb3JuIHNoZWxsLgogCkBAIC0yMjg1LDcgKzIyODUsNyBAQAogc3BlZWQgdXAgZGlzcGxheWluZy4gIFRoZSBkaXNhZHZhbnRhZ2UgaXMgdGhhdCBoaWdobGlnaHQgZXJyb3JzIG1heSBhcHBlYXIuCiAKIAotU1BFRURVUCAoQXNwZW5UZWNoIHBsYW50IHNpbXVsYXRvcikJCSpzcHVwLnZpbSogKnNwdXAtc3ludGF4KgorU1BFRURVUCAoQXNwZW5UZWNoIHBsYW50IHNpbXVsYXRvcikJCSpzcHVwLnZpbSogKmZ0LXNwdXAtc3ludGF4KgogCiBUaGUgU3BlZWR1cCBzeW50YXggZmlsZSBoYXMgc29tZSBvcHRpb25zOgogCkBAIC0yMzE3LDggKzIzMTcsOCBAQAogdGhlIHN5bnRheCBmaWxlLgogCiAKLVNRTAkJCQkJCSpzcWwudmltKiAqc3FsLXN5bnRheCoKLQkJCQkJKnNxbGluZm9ybWl4LnZpbSogKnNxbGluZm9ybWl4LXN5bnRheCoKK1NRTAkJCQkJCSpzcWwudmltKiAqZnQtc3FsLXN5bnRheCoKKwkJCQkqc3FsaW5mb3JtaXgudmltKiAqZnQtc3FsaW5mb3JtaXgtc3ludGF4KgogCiBXaGlsZSB0aGVyZSBpcyBhbiBBTlNJIHN0YW5kYXJkIGZvciBTUUwsIG1vc3QgZGF0YWJhc2UgZW5naW5lcyBhZGQgdGhlaXIKIG93biBjdXN0b20gZXh0ZW5zaW9ucy4gIFZpbSBjdXJyZW50bHkgc3VwcG9ydHMgdGhlIE9yYWNsZSBhbmQgSW5mb3JtaXgKQEAgLTIzMjgsNyArMjMyOCw3IEBACiAgICAgOmxldCBnOmZpbGV0eXBlX3NxbCA9ICJzcWxpbmZvcm1peCIgCiAKIAotVENTSAkJCQkJCSp0Y3NoLnZpbSogKnRjc2gtc3ludGF4KgorVENTSAkJCQkJCSp0Y3NoLnZpbSogKmZ0LXRjc2gtc3ludGF4KgogCiBUaGlzIGNvdmVycyB0aGUgc2hlbGwgbmFtZWQgInRjc2giLiAgSXQgaXMgYSBzdXBlcnNldCBvZiBjc2guICBTZWUgfGNzaC52aW18CiBmb3IgaG93IHRoZSBmaWxldHlwZSBpcyBkZXRlY3RlZC4KQEAgLTIzNTAsNyArMjM1MCw3IEBACiBudW1iZXIgaXMgdGhhdCByZWRyYXdpbmcgY2FuIGJlY29tZSBzbG93LgogCiAKLVRFWAkJCQkJCSp0ZXgudmltKiAqdGV4LXN5bnRheCoKK1RFWAkJCQkJCSp0ZXgudmltKiAqZnQtdGV4LXN5bnRheCoKIAogKnRleC1mb2xkaW5nKgogV2FudCBTeW50YXggRm9sZGluZz8gfgpAQCAtMjQyNSw3ICsyNDI1LDcgQEAKIGFsd2F5cyBhY2NlcHQgc3VjaCB1c2Ugb2YgQC4KIAogCi1URgkJCQkJCSp0Zi52aW0qICp0Zi1zeW50YXgqCitURgkJCQkJCSp0Zi52aW0qICpmdC10Zi1zeW50YXgqCiAKIFRoZXJlIGlzIG9uZSBvcHRpb24gZm9yIHRoZSB0ZiBzeW50YXggaGlnaGxpZ2h0aW5nLgogCkBAIC0yNDM1LDcgKzI0MzUsNyBAQAogCTpsZXQgdGZfbWlubGluZXMgPSB5b3VyIGNob2ljZQogCiAKLVZJTQkJCQkJCSp2aW0udmltKiAqdmltLXN5bnRheCoKK1ZJTQkJCQkJCSp2aW0udmltKiAqZnQtdmltLXN5bnRheCoKIAogVGhlcmUgaXMgYSB0cmFkZW9mZiBiZXR3ZWVuIG1vcmUgYWNjdXJhdGUgc3ludGF4IGhpZ2hsaWdodGluZyB2ZXJzdXMKIHNjcmVlbiB1cGRhdGluZyBzcGVlZC4gIFRvIGltcHJvdmUgYWNjdXJhY3ksIHlvdSBtYXkgd2lzaCB0byBpbmNyZWFzZQpAQCAtMjQ1OSw3ICsyNDU5LDcgQEAKIAkJCQkJIGxvYWRlZC4KIAogCi1YRjg2Q09ORklHCQkJCSp4Zjg2Y29uZi52aW0qICp4Zjg2Y29uZi1zeW50YXgqCitYRjg2Q09ORklHCQkJCSp4Zjg2Y29uZi52aW0qICpmdC14Zjg2Y29uZi1zeW50YXgqCiAKIFRoZSBzeW50YXggb2YgWEY4NkNvbmZpZyBmaWxlIGRpZmZlcnMgaW4gWEZyZWU4NiB2My54IGFuZCB2NC54LiAgQm90aAogdmFyaWFudHMgYXJlIHN1cHBvcnRlZC4gIEF1dG9tYXRpYyBkZXRlY3Rpb24gaXMgdXNlZCwgYnV0IGlzIGZhciBmcm9tIHBlcmZlY3QuCkBAIC0yNDc0LDcgKzI0NzQsNyBAQAogaGlnaGxpZ2h0ZWQuCiAKIAotWE1MCQkJCQkJKnhtbC52aW0qICp4bWwtc3ludGF4KgorWE1MCQkJCQkJKnhtbC52aW0qICpmdC14bWwtc3ludGF4KgogCiBYbWwgbmFtZXNwYWNlcyBhcmUgaGlnaGxpZ2h0ZWQgYnkgZGVmYXVsdC4gIFRoaXMgY2FuIGJlIGluaGliaXRlZCBieQogc2V0dGluZyBhIGdsb2JhbCB2YXJpYWJsZTogPgpAQCAtMjQ5Miw3ICsyNDkyLDcgQEAKIGVzcGVjaWFsbHkgZm9yIGxhcmdlIGZpbGVzLgogCiAKLVggUGl4bWFwcyAoWFBNKQkJCQkJKnhwbS52aW0qICp4cG0tc3ludGF4KgorWCBQaXhtYXBzIChYUE0pCQkJCQkqeHBtLnZpbSogKmZ0LXhwbS1zeW50YXgqCiAKIHhwbS52aW0gY3JlYXRlcyBpdHMgc3ludGF4IGl0ZW1zIGR5bmFtaWNhbGx5IGJhc2VkIHVwb24gdGhlIGNvbnRlbnRzIG9mIHRoZQogWFBNIGZpbGUuICBUaHVzIGlmIHlvdSBtYWtlIGNoYW5nZXMgZS5nLiBpbiB0aGUgY29sb3Igc3BlY2lmaWNhdGlvbiBzdHJpbmdzLApkaWZmIC0tZ2l0IGEvcnVudGltZS9kb2MvdGFncyBiL3J1bnRpbWUvZG9jL3RhZ3MKaW5kZXggYWZhNmI3Yi4uZWY3MmQzYyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdGFncworKysgYi9ydW50aW1lL2RvYy90YWdzCkBAIC0xMDM2LDYgKzEwMzYsOCBAQAogK2NvbW1lbnRzCXZhcmlvdXMudHh0CS8qK2NvbW1lbnRzKgogK2NyeXB0dgl2YXJpb3VzLnR4dAkvKitjcnlwdHYqCiArY3Njb3BlCXZhcmlvdXMudHh0CS8qK2NzY29wZSoKKytjdXJzb3JzaGFwZQl2YXJpb3VzLnR4dAkvKitjdXJzb3JzaGFwZSoKKytkZWJ1Zwl2YXJpb3VzLnR4dAkvKitkZWJ1ZyoKICtkaWFsb2dfY29uCXZhcmlvdXMudHh0CS8qK2RpYWxvZ19jb24qCiArZGlhbG9nX2Nvbl9ndWkJdmFyaW91cy50eHQJLyorZGlhbG9nX2Nvbl9ndWkqCiArZGlhbG9nX2d1aQl2YXJpb3VzLnR4dAkvKitkaWFsb2dfZ3VpKgpAQCAtMTcwMiw2ICsxNzA0LDcgQEAKIDphdW4JZ3VpLnR4dAkvKjphdW4qCiA6YXVubWVudQlndWkudHh0CS8qOmF1bm1lbnUqCiA6YXV0b2NtZAlhdXRvY21kLnR4dAkvKjphdXRvY21kKgorOmF1dG9jbWQtdmVyYm9zZQlhdXRvY21kLnR4dAkvKjphdXRvY21kLXZlcmJvc2UqCiA6Ygl3aW5kb3dzLnR4dAkvKjpiKgogOmJOCXdpbmRvd3MudHh0CS8qOmJOKgogOmJOZXh0CXdpbmRvd3MudHh0CS8qOmJOZXh0KgpAQCAtNDE0MCwxMCArNDE0Myw4IEBACiBhYgltb3Rpb24udHh0CS8qYWIqCiBhYmFuZG9uCWVkaXRpbmcudHh0CS8qYWJhbmRvbioKIGFiYnJldmlhdGlvbnMJbWFwLnR4dAkvKmFiYnJldmlhdGlvbnMqCi1hYmVsLXN5bnRheAlzeW50YXgudHh0CS8qYWJlbC1zeW50YXgqCiBhYmVsLnZpbQlzeW50YXgudHh0CS8qYWJlbC52aW0qCiBhY3RpdmUtYnVmZmVyCXdpbmRvd3MudHh0CS8qYWN0aXZlLWJ1ZmZlcioKLWFkYS1zeW50YXgJc3ludGF4LnR4dAkvKmFkYS1zeW50YXgqCiBhZGEudmltCXN5bnRheC50eHQJLyphZGEudmltKgogYWRkKCkJZXZhbC50eHQJLyphZGQoKSoKIGFkZC1maWxldHlwZS1wbHVnaW4JdXNyXzA1LnR4dAkvKmFkZC1maWxldHlwZS1wbHVnaW4qCkBAIC00MTc2LDExICs0MTc3LDkgQEAKIGFsdC1pbnB1dAlkZWJ1Z2dlci50eHQJLyphbHQtaW5wdXQqCiBhbHRlcm5hdGUtZmlsZQllZGl0aW5nLnR4dAkvKmFsdGVybmF0ZS1maWxlKgogYW1pZ2Etd2luZG93CXN0YXJ0aW5nLnR4dAkvKmFtaWdhLXdpbmRvdyoKLWFudC1zeW50YXgJc3ludGF4LnR4dAkvKmFudC1zeW50YXgqCiBhbnQudmltCXN5bnRheC50eHQJLyphbnQudmltKgogYW50aWFsaWFzCWd1aV94MTEudHh0CS8qYW50aWFsaWFzKgogYXAJbW90aW9uLnR4dAkvKmFwKgotYXBhY2hlLXN5bnRheAlzeW50YXgudHh0CS8qYXBhY2hlLXN5bnRheCoKIGFwYWNoZS52aW0Jc3ludGF4LnR4dAkvKmFwYWNoZS52aW0qCiBhcHBlbmQoKQlldmFsLnR4dAkvKmFwcGVuZCgpKgogYXF1b3RlCW1vdGlvbi50eHQJLyphcXVvdGUqCkBAIC00MTk1LDE0ICs0MTk0LDkgQEAKIGFyZ3VtZW50LWxpc3QJZWRpdGluZy50eHQJLyphcmd1bWVudC1saXN0KgogYXJndigpCWV2YWwudHh0CS8qYXJndigpKgogYXMJbW90aW9uLnR4dAkvKmFzKgotYXNtLXN5bnRheAlzeW50YXgudHh0CS8qYXNtLXN5bnRheCoKIGFzbS52aW0Jc3ludGF4LnR4dAkvKmFzbS52aW0qCiBhc202OGsJc3ludGF4LnR4dAkvKmFzbTY4ayoKLWFzbTY4ay1zeW50YXgJc3ludGF4LnR4dAkvKmFzbTY4ay1zeW50YXgqCi1hc21oODMwMC1zeW50YXgJc3ludGF4LnR4dAkvKmFzbWg4MzAwLXN5bnRheCoKIGFzbWg4MzAwLnZpbQlzeW50YXgudHh0CS8qYXNtaDgzMDAudmltKgotYXNwcGVybC1zeW50YXgJc3ludGF4LnR4dAkvKmFzcHBlcmwtc3ludGF4KgotYXNwdmJzLXN5bnRheAlzeW50YXgudHh0CS8qYXNwdmJzLXN5bnRheCoKIGF0CW1vdGlvbi50eHQJLyphdCoKIGF0aGVuYS1pbnRlbGxpbW91c2UJZ3VpLnR4dAkvKmF0aGVuYS1pbnRlbGxpbW91c2UqCiBhdHRyLWxpc3QJc3ludGF4LnR4dAkvKmF0dHItbGlzdCoKQEAgLTQyMjYsNyArNDIyMCw2IEBACiBhdXRvY21kLXJlbW92ZQlhdXRvY21kLnR4dAkvKmF1dG9jbWQtcmVtb3ZlKgogYXV0b2NtZC1zZWFyY2hwYXQJYXV0b2NtZC50eHQJLyphdXRvY21kLXNlYXJjaHBhdCoKIGF1dG9jbWQtdXNlCWF1dG9jbWQudHh0CS8qYXV0b2NtZC11c2UqCi1hdXRvY21kLXZlcmJvc2UJYXV0b2NtZC50eHQJLyphdXRvY21kLXZlcmJvc2UqCiBhdXRvY21kLnR4dAlhdXRvY21kLnR4dAkvKmF1dG9jbWQudHh0KgogYXV0b2NtZHMta2VwdAl2ZXJzaW9uNS50eHQJLyphdXRvY21kcy1rZXB0KgogYXV0b2NvbW1hbmQJYXV0b2NtZC50eHQJLyphdXRvY29tbWFuZCoKQEAgLTQyNTUsOCArNDI0OCw2IEBACiBiYXIJbW90aW9uLnR4dAkvKmJhcioKIGJhcnMJaGVscC50eHQJLypiYXJzKgogYmFzZV9mb250X25hbWVfbGlzdAltYnl0ZS50eHQJLypiYXNlX2ZvbnRfbmFtZV9saXN0KgotYmFzaC1zeW50YXgJc3ludGF4LnR4dAkvKmJhc2gtc3ludGF4KgotYmFzaWMtc3ludGF4CXN5bnRheC50eHQJLypiYXNpYy1zeW50YXgqCiBiYXNpYy52aW0Jc3ludGF4LnR4dAkvKmJhc2ljLnZpbSoKIGJlZXAJb3B0aW9ucy50eHQJLypiZWVwKgogYmVvcy1jb2xvcnMJb3NfYmVvcy50eHQJLypiZW9zLWNvbG9ycyoKQEAgLTQzMTksNyArNDMxMCw2IEBACiBieXRlaWR4KCkJZXZhbC50eHQJLypieXRlaWR4KCkqCiBiemlwMglwaV9nemlwLnR4dAkvKmJ6aXAyKgogYwljaGFuZ2UudHh0CS8qYyoKLWMtc3ludGF4CXN5bnRheC50eHQJLypjLXN5bnRheCoKIGMudmltCXN5bnRheC50eHQJLypjLnZpbSoKIGNXCWNoYW5nZS50eHQJLypjVyoKIGNfPEJTPgljbWRsaW5lLnR4dAkvKmNfPEJTPioKQEAgLTQzOTMsNyArNDM4Myw2IEBACiBjYXRjaC1vcmRlcglldmFsLnR4dAkvKmNhdGNoLW9yZGVyKgogY2F0Y2gtdGV4dAlldmFsLnR4dAkvKmNhdGNoLXRleHQqCiBjYwljaGFuZ2UudHh0CS8qY2MqCi1jaC1zeW50YXgJc3ludGF4LnR4dAkvKmNoLXN5bnRheCoKIGNoLnZpbQlzeW50YXgudHh0CS8qY2gudmltKgogY2hhbmdlLWxpc3QtanVtcHMJbW90aW9uLnR4dAkvKmNoYW5nZS1saXN0LWp1bXBzKgogY2hhbmdlLXRhYnMJY2hhbmdlLnR4dAkvKmNoYW5nZS10YWJzKgpAQCAtNDQxMCw4ICs0Mzk5LDYgQEAKIGNoYW5nZWQtNi4yCXZlcnNpb242LnR4dAkvKmNoYW5nZWQtNi4yKgogY2hhbmdlZC02LjMJdmVyc2lvbjYudHh0CS8qY2hhbmdlZC02LjMqCiBjaGFuZ2VsaXN0CW1vdGlvbi50eHQJLypjaGFuZ2VsaXN0KgotY2hhbmdlbG9nLXBsdWdpbglmaWxldHlwZS50eHQJLypjaGFuZ2Vsb2ctcGx1Z2luKgotY2hhbmdlbG9nLXN5bnRheAlzeW50YXgudHh0CS8qY2hhbmdlbG9nLXN5bnRheCoKIGNoYW5nZWxvZy52aW0Jc3ludGF4LnR4dAkvKmNoYW5nZWxvZy52aW0qCiBjaGFuZ2V0aWNrCWV2YWwudHh0CS8qY2hhbmdldGljayoKIGNoYW5naW5nCWNoYW5nZS50eHQJLypjaGFuZ2luZyoKQEAgLTQ0MjMsNyArNDQxMCw2IEBACiBjaGFyY29udmVydF90by12YXJpYWJsZQlldmFsLnR4dAkvKmNoYXJjb252ZXJ0X3RvLXZhcmlhYmxlKgogY2hhcnNldAltYnl0ZS50eHQJLypjaGFyc2V0KgogY2hhcnNldC1jb252ZXJzaW9uCW1ieXRlLnR4dAkvKmNoYXJzZXQtY29udmVyc2lvbioKLWNoaWxsLXN5bnRheAlzeW50YXgudHh0CS8qY2hpbGwtc3ludGF4KgogY2hpbGwudmltCXN5bnRheC50eHQJLypjaGlsbC52aW0qCiBjaW5kZW50KCkJZXZhbC50eHQJLypjaW5kZW50KCkqCiBjaW5rZXlzLWZvcm1hdAlpbmRlbnQudHh0CS8qY2lua2V5cy1mb3JtYXQqCkBAIC00NDQ2LDEyICs0NDMyLDEwIEBACiBjbWRsaW5lLnR4dAljbWRsaW5lLnR4dAkvKmNtZGxpbmUudHh0KgogY21kd2luCWNtZGxpbmUudHh0CS8qY21kd2luKgogY21kd2luLWNoYXIJY21kbGluZS50eHQJLypjbWR3aW4tY2hhcioKLWNvYm9sLXN5bnRheAlzeW50YXgudHh0CS8qY29ib2wtc3ludGF4KgogY29ib2wudmltCXN5bnRheC50eHQJLypjb2JvbC52aW0qCiBjb2Rlc2V0CW1ieXRlLnR4dAkvKmNvZGVzZXQqCiBjb2Rpbmctc3R5bGUJZGV2ZWxvcC50eHQJLypjb2Rpbmctc3R5bGUqCiBjb2woKQlldmFsLnR4dAkvKmNvbCgpKgotY29sZGZ1c2lvbi1zeW50YXgJc3ludGF4LnR4dAkvKmNvbGRmdXNpb24tc3ludGF4KgogY29sZGZ1c2lvbi52aW0Jc3ludGF4LnR4dAkvKmNvbGRmdXNpb24udmltKgogY29sbGFwc2UJdGlwcy50eHQJLypjb2xsYXBzZSoKIGNvbG9yLXh0ZXJtCXN5bnRheC50eHQJLypjb2xvci14dGVybSoKQEAgLTQ1ODMsNyArNDU2Nyw2IEBACiBjc2NvcGV0YWcJaWZfY3Njb3AudHh0CS8qY3Njb3BldGFnKgogY3Njb3BldGFnb3JkZXIJaWZfY3Njb3AudHh0CS8qY3Njb3BldGFnb3JkZXIqCiBjc2NvcGV2ZXJib3NlCWlmX2NzY29wLnR4dAkvKmNzY29wZXZlcmJvc2UqCi1jc2gtc3ludGF4CXN5bnRheC50eHQJLypjc2gtc3ludGF4KgogY3NoLnZpbQlzeW50YXgudHh0CS8qY3NoLnZpbSoKIGNzcGMJaWZfY3Njb3AudHh0CS8qY3NwYyoKIGNzcHJnCWlmX2NzY29wLnR4dAkvKmNzcHJnKgpAQCAtNDYxNSw5ICs0NTk4LDcgQEAKIGN1cnNvcl9yaWdodAlpbnRyby50eHQJLypjdXJzb3JfcmlnaHQqCiBjdXJzb3JfdXAJaW50cm8udHh0CS8qY3Vyc29yX3VwKgogY3cJY2hhbmdlLnR4dAkvKmN3KgotY3dlYi1zeW50YXgJc3ludGF4LnR4dAkvKmN3ZWItc3ludGF4KgogY3dlYi52aW0Jc3ludGF4LnR4dAkvKmN3ZWIudmltKgotY3lubGliLXN5bnRheAlzeW50YXgudHh0CS8qY3lubGliLXN5bnRheCoKIGN5bmxpYi52aW0Jc3ludGF4LnR4dAkvKmN5bmxpYi52aW0qCiBkCWNoYW5nZS50eHQJLypkKgogZGFCCW1vdGlvbi50eHQJLypkYUIqCkBAIC00NjU3LDcgKzQ2MzgsNiBAQAogZGVzaWduLW11bHRpLXBsYXRmb3JtCWRldmVsb3AudHh0CS8qZGVzaWduLW11bHRpLXBsYXRmb3JtKgogZGVzaWduLW5vdAlkZXZlbG9wLnR4dAkvKmRlc2lnbi1ub3QqCiBkZXNpZ24tc3BlZWQtc2l6ZQlkZXZlbG9wLnR4dAkvKmRlc2lnbi1zcGVlZC1zaXplKgotZGVza3RvcC1zeW50YXgJc3ludGF4LnR4dAkvKmRlc2t0b3Atc3ludGF4KgogZGVza3RvcC52aW0Jc3ludGF4LnR4dAkvKmRlc2t0b3AudmltKgogZGV2ZWxvcC1zcGVsbAlkZXZlbG9wLnR4dAkvKmRldmVsb3Atc3BlbGwqCiBkZXZlbG9wLnR4dAlkZXZlbG9wLnR4dAkvKmRldmVsb3AudHh0KgpAQCAtNDY4OSw3ICs0NjY5LDYgQEAKIGRpZ3JhcGhzLWRlZmluZQlkaWdyYXBoLnR4dAkvKmRpZ3JhcGhzLWRlZmluZSoKIGRpZ3JhcGhzLXVzZQlkaWdyYXBoLnR4dAkvKmRpZ3JhcGhzLXVzZSoKIGRpcAltb3Rpb24udHh0CS8qZGlwKgotZGlyY29sb3JzLXN5bnRheAlzeW50YXgudHh0CS8qZGlyY29sb3JzLXN5bnRheCoKIGRpcmNvbG9ycy52aW0Jc3ludGF4LnR4dAkvKmRpcmNvbG9ycy52aW0qCiBkaXMJbW90aW9uLnR4dAkvKmRpcyoKIGRpc2FibGUtbWVudXMJZ3VpLnR4dAkvKmRpc2FibGUtbWVudXMqCkBAIC00Njk4LDExICs0Njc3LDggQEAKIGRsCWNoYW5nZS50eHQJLypkbCoKIGRvCWRpZmYudHh0CS8qZG8qCiBkb2MtZmlsZS1saXN0CWhlbHAudHh0CS8qZG9jLWZpbGUtbGlzdCoKLWRvY2JrLXN5bnRheAlzeW50YXgudHh0CS8qZG9jYmstc3ludGF4KgogZG9jYmsudmltCXN5bnRheC50eHQJLypkb2Niay52aW0qCi1kb2Nia3NnbWwtc3ludGF4CXN5bnRheC50eHQJLypkb2Nia3NnbWwtc3ludGF4KgogZG9jYmtzZ21sLnZpbQlzeW50YXgudHh0CS8qZG9jYmtzZ21sLnZpbSoKLWRvY2JreG1sLXN5bnRheAlzeW50YXgudHh0CS8qZG9jYmt4bWwtc3ludGF4KgogZG9jYmt4bWwudmltCXN5bnRheC50eHQJLypkb2Nia3htbC52aW0qCiBkb2Nib29rCXN5bnRheC50eHQJLypkb2Nib29rKgogZG9jdW1lbnRhdGlvbi02CXZlcnNpb242LnR4dAkvKmRvY3VtZW50YXRpb24tNioKQEAgLTQ3MTksNyArNDY5NSw2IEBACiBkb3MtdGVtcC1maWxlcwlvc19kb3MudHh0CS8qZG9zLXRlbXAtZmlsZXMqCiBkb3MxNglvc19tc2Rvcy50eHQJLypkb3MxNioKIGRvczMyCW9zX21zZG9zLnR4dAkvKmRvczMyKgotZG9zYmF0Y2gtc3ludGF4CXN5bnRheC50eHQJLypkb3NiYXRjaC1zeW50YXgqCiBkb3NiYXRjaC52aW0Jc3ludGF4LnR4dAkvKmRvc2JhdGNoLnZpbSoKIGRvdWJsZS1jbGljawl0ZXJtLnR4dAkvKmRvdWJsZS1jbGljayoKIGRvd25sb2FkCWludHJvLnR4dAkvKmRvd25sb2FkKgpAQCAtNDcyNyw3ICs0NzAyLDYgQEAKIGRyYWctbi1kcm9wCWd1aS50eHQJLypkcmFnLW4tZHJvcCoKIGRyYWctbi1kcm9wLXdpbjMyCWd1aV93MzIudHh0CS8qZHJhZy1uLWRyb3Atd2luMzIqCiBkcmFnLXN0YXR1cy1saW5lCXRlcm0udHh0CS8qZHJhZy1zdGF0dXMtbGluZSoKLWR0ZC1zeW50YXgJc3ludGF4LnR4dAkvKmR0ZC1zeW50YXgqCiBkdGQudmltCXN5bnRheC50eHQJLypkdGQudmltKgogZHlpbmctdmFyaWFibGUJZXZhbC50eHQJLypkeWluZy12YXJpYWJsZSoKIGUJbW90aW9uLnR4dAkvKmUqCkBAIC00NzQxLDcgKzQ3MTUsNiBAQAogZWRpdGluZy50eHQJZWRpdGluZy50eHQJLyplZGl0aW5nLnR4dCoKIGVmbS1lbnRyaWVzCXF1aWNrZml4LnR4dAkvKmVmbS1lbnRyaWVzKgogZWZtLWlnbm9yZQlxdWlja2ZpeC50eHQJLyplZm0taWdub3JlKgotZWlmZmVsLXN5bnRheAlzeW50YXgudHh0CS8qZWlmZmVsLXN5bnRheCoKIGVpZmZlbC52aW0Jc3ludGF4LnR4dAkvKmVpZmZlbC52aW0qCiBlbWFjcy1rZXlzCXRpcHMudHh0CS8qZW1hY3Mta2V5cyoKIGVtYWNzLXRhZ3MJdGFnc3JjaC50eHQJLyplbWFjcy10YWdzKgpAQCAtNDc1NCw3ICs0NzI3LDYgQEAKIGVuZAlpbnRyby50eHQJLyplbmQqCiBlbmQtb2YtZmlsZQlwYXR0ZXJuLnR4dAkvKmVuZC1vZi1maWxlKgogZW5saWdodGVuZWQtdGVybWluYWwJc3ludGF4LnR4dAkvKmVubGlnaHRlbmVkLXRlcm1pbmFsKgotZXJsYW5nLXN5bnRheAlzeW50YXgudHh0CS8qZXJsYW5nLXN5bnRheCoKIGVybGFuZy52aW0Jc3ludGF4LnR4dAkvKmVybGFuZy52aW0qCiBlcnJtc2ctdmFyaWFibGUJZXZhbC50eHQJLyplcnJtc2ctdmFyaWFibGUqCiBlcnJvci1maWxlLWZvcm1hdAlxdWlja2ZpeC50eHQJLyplcnJvci1maWxlLWZvcm1hdCoKQEAgLTQ5NjQsMTggKzQ5MzYsMTE0IEBACiBmb250c2V0CW1ieXRlLnR4dAkvKmZvbnRzZXQqCiBmb3JlZ3JvdW5kKCkJZXZhbC50eHQJLypmb3JlZ3JvdW5kKCkqCiBmb3JrCW9zX3VuaXgudHh0CS8qZm9yayoKLWZvcm0tc3ludGF4CXN5bnRheC50eHQJLypmb3JtLXN5bnRheCoKIGZvcm0udmltCXN5bnRheC50eHQJLypmb3JtLnZpbSoKIGZvcm1hdC1idWxsZXQtbGlzdAl0aXBzLnR4dAkvKmZvcm1hdC1idWxsZXQtbGlzdCoKIGZvcm1hdC1jb21tZW50cwljaGFuZ2UudHh0CS8qZm9ybWF0LWNvbW1lbnRzKgogZm9ybWF0dGluZwljaGFuZ2UudHh0CS8qZm9ybWF0dGluZyoKIGZvcm1mZWVkCWludHJvLnR4dAkvKmZvcm1mZWVkKgotZm9ydHJhbi1pbmRlbnQJaW5kZW50LnR4dAkvKmZvcnRyYW4taW5kZW50KgotZm9ydHJhbi1wbHVnaW4JZmlsZXR5cGUudHh0CS8qZm9ydHJhbi1wbHVnaW4qCi1mb3J0cmFuLXN5bnRheAlzeW50YXgudHh0CS8qZm9ydHJhbi1zeW50YXgqCiBmb3J0cmFuLnZpbQlzeW50YXgudHh0CS8qZm9ydHJhbi52aW0qCiBmcmVuY2gtbWFpbGxpc3QJaW50cm8udHh0CS8qZnJlbmNoLW1haWxsaXN0KgogZnJvbWJvb2sJdXNyXzAxLnR4dAkvKmZyb21ib29rKgorZnQtYWJlbC1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LWFiZWwtc3ludGF4KgorZnQtYWRhLXN5bnRheAlzeW50YXgudHh0CS8qZnQtYWRhLXN5bnRheCoKK2Z0LWFudC1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LWFudC1zeW50YXgqCitmdC1hcGFjaGUtc3ludGF4CXN5bnRheC50eHQJLypmdC1hcGFjaGUtc3ludGF4KgorZnQtYXNtLXN5bnRheAlzeW50YXgudHh0CS8qZnQtYXNtLXN5bnRheCoKK2Z0LWFzbTY4ay1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LWFzbTY4ay1zeW50YXgqCitmdC1hc21oODMwMC1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LWFzbWg4MzAwLXN5bnRheCoKK2Z0LWFzcHBlcmwtc3ludGF4CXN5bnRheC50eHQJLypmdC1hc3BwZXJsLXN5bnRheCoKK2Z0LWFzcHZicy1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LWFzcHZicy1zeW50YXgqCitmdC1iYXNoLXN5bnRheAlzeW50YXgudHh0CS8qZnQtYmFzaC1zeW50YXgqCitmdC1iYXNpYy1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LWJhc2ljLXN5bnRheCoKK2Z0LWMtc3ludGF4CXN5bnRheC50eHQJLypmdC1jLXN5bnRheCoKK2Z0LWNoLXN5bnRheAlzeW50YXgudHh0CS8qZnQtY2gtc3ludGF4KgorZnQtY2hhbmdlbG9nLXBsdWdpbglmaWxldHlwZS50eHQJLypmdC1jaGFuZ2Vsb2ctcGx1Z2luKgorZnQtY2hhbmdlbG9nLXN5bnRheAlzeW50YXgudHh0CS8qZnQtY2hhbmdlbG9nLXN5bnRheCoKK2Z0LWNoaWxsLXN5bnRheAlzeW50YXgudHh0CS8qZnQtY2hpbGwtc3ludGF4KgorZnQtY29ib2wtc3ludGF4CXN5bnRheC50eHQJLypmdC1jb2JvbC1zeW50YXgqCitmdC1jb2xkZnVzaW9uLXN5bnRheAlzeW50YXgudHh0CS8qZnQtY29sZGZ1c2lvbi1zeW50YXgqCitmdC1jc2gtc3ludGF4CXN5bnRheC50eHQJLypmdC1jc2gtc3ludGF4KgorZnQtY3dlYi1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LWN3ZWItc3ludGF4KgorZnQtY3lubGliLXN5bnRheAlzeW50YXgudHh0CS8qZnQtY3lubGliLXN5bnRheCoKK2Z0LWRlc2t0b3Atc3ludGF4CXN5bnRheC50eHQJLypmdC1kZXNrdG9wLXN5bnRheCoKK2Z0LWRpcmNvbG9ycy1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LWRpcmNvbG9ycy1zeW50YXgqCitmdC1kb2Niay1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LWRvY2JrLXN5bnRheCoKK2Z0LWRvY2Jrc2dtbC1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LWRvY2Jrc2dtbC1zeW50YXgqCitmdC1kb2Nia3htbC1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LWRvY2JreG1sLXN5bnRheCoKK2Z0LWRvc2JhdGNoLXN5bnRheAlzeW50YXgudHh0CS8qZnQtZG9zYmF0Y2gtc3ludGF4KgorZnQtZHRkLXN5bnRheAlzeW50YXgudHh0CS8qZnQtZHRkLXN5bnRheCoKK2Z0LWVpZmZlbC1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LWVpZmZlbC1zeW50YXgqCitmdC1lcmxhbmctc3ludGF4CXN5bnRheC50eHQJLypmdC1lcmxhbmctc3ludGF4KgorZnQtZm9ybS1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LWZvcm0tc3ludGF4KgorZnQtZm9ydHJhbi1pbmRlbnQJaW5kZW50LnR4dAkvKmZ0LWZvcnRyYW4taW5kZW50KgorZnQtZm9ydHJhbi1wbHVnaW4JZmlsZXR5cGUudHh0CS8qZnQtZm9ydHJhbi1wbHVnaW4qCitmdC1mb3J0cmFuLXN5bnRheAlzeW50YXgudHh0CS8qZnQtZm9ydHJhbi1zeW50YXgqCitmdC1mdndtLXN5bnRheAlzeW50YXgudHh0CS8qZnQtZnZ3bS1zeW50YXgqCitmdC1ncm9mZi1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LWdyb2ZmLXN5bnRheCoKK2Z0LWdzcC1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LWdzcC1zeW50YXgqCitmdC1oYXNrZWxsLXN5bnRheAlzeW50YXgudHh0CS8qZnQtaGFza2VsbC1zeW50YXgqCitmdC1odG1sLXN5bnRheAlzeW50YXgudHh0CS8qZnQtaHRtbC1zeW50YXgqCitmdC1odG1sb3Mtc3ludGF4CXN5bnRheC50eHQJLypmdC1odG1sb3Mtc3ludGF4KgorZnQtaWE2NC1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LWlhNjQtc3ludGF4KgorZnQtaW5mb3JtLXN5bnRheAlzeW50YXgudHh0CS8qZnQtaW5mb3JtLXN5bnRheCoKK2Z0LWphdmEtc3ludGF4CXN5bnRheC50eHQJLypmdC1qYXZhLXN5bnRheCoKK2Z0LWtzaC1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LWtzaC1zeW50YXgqCitmdC1sYWNlLXN5bnRheAlzeW50YXgudHh0CS8qZnQtbGFjZS1zeW50YXgqCitmdC1sZXgtc3ludGF4CXN5bnRheC50eHQJLypmdC1sZXgtc3ludGF4KgorZnQtbGl0ZS1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LWxpdGUtc3ludGF4KgorZnQtbHBjLXN5bnRheAlzeW50YXgudHh0CS8qZnQtbHBjLXN5bnRheCoKK2Z0LWx1YS1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LWx1YS1zeW50YXgqCitmdC1tYWlsLXBsdWdpbglmaWxldHlwZS50eHQJLypmdC1tYWlsLXBsdWdpbioKK2Z0LW1haWwudmltCXN5bnRheC50eHQJLypmdC1tYWlsLnZpbSoKK2Z0LW1ha2Utc3ludGF4CXN5bnRheC50eHQJLypmdC1tYWtlLXN5bnRheCoKK2Z0LW1hbi1wbHVnaW4JZmlsZXR5cGUudHh0CS8qZnQtbWFuLXBsdWdpbioKK2Z0LW1hcGxlLXN5bnRheAlzeW50YXgudHh0CS8qZnQtbWFwbGUtc3ludGF4KgorZnQtbWFzbS1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LW1hc20tc3ludGF4KgorZnQtbWF0aGVtYXRpY2Etc3ludGF4CXN5bnRheC50eHQJLypmdC1tYXRoZW1hdGljYS1zeW50YXgqCitmdC1tbWEtc3ludGF4CXN5bnRheC50eHQJLypmdC1tbWEtc3ludGF4KgorZnQtbW9vLXN5bnRheAlzeW50YXgudHh0CS8qZnQtbW9vLXN5bnRheCoKK2Z0LW1zcWwtc3ludGF4CXN5bnRheC50eHQJLypmdC1tc3FsLXN5bnRheCoKK2Z0LW5hc20tc3ludGF4CXN5bnRheC50eHQJLypmdC1uYXNtLXN5bnRheCoKK2Z0LW5jZi1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LW5jZi1zeW50YXgqCitmdC1ucm9mZi1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LW5yb2ZmLXN5bnRheCoKK2Z0LW9jYW1sLXN5bnRheAlzeW50YXgudHh0CS8qZnQtb2NhbWwtc3ludGF4KgorZnQtcGFwcC1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LXBhcHAtc3ludGF4KgorZnQtcGFzY2FsLXN5bnRheAlzeW50YXgudHh0CS8qZnQtcGFzY2FsLXN5bnRheCoKK2Z0LXBlcmwtc3ludGF4CXN5bnRheC50eHQJLypmdC1wZXJsLXN5bnRheCoKK2Z0LXBocC1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LXBocC1zeW50YXgqCitmdC1waHAzLXN5bnRheAlzeW50YXgudHh0CS8qZnQtcGhwMy1zeW50YXgqCitmdC1waHRtbC1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LXBodG1sLXN5bnRheCoKK2Z0LXBvc3RzY3Itc3ludGF4CXN5bnRheC50eHQJLypmdC1wb3N0c2NyLXN5bnRheCoKK2Z0LXBwd2l6LXN5bnRheAlzeW50YXgudHh0CS8qZnQtcHB3aXotc3ludGF4KgorZnQtcHJpbnRjYXAtc3ludGF4CXN5bnRheC50eHQJLypmdC1wcmludGNhcC1zeW50YXgqCitmdC1wcm9ncmVzcy1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LXByb2dyZXNzLXN5bnRheCoKK2Z0LXB0Y2FwLXN5bnRheAlzeW50YXgudHh0CS8qZnQtcHRjYXAtc3ludGF4KgorZnQtcHl0aG9uLWluZGVudAlpbmRlbnQudHh0CS8qZnQtcHl0aG9uLWluZGVudCoKK2Z0LXB5dGhvbi1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LXB5dGhvbi1zeW50YXgqCitmdC1xdWFrZS1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LXF1YWtlLXN5bnRheCoKK2Z0LXJlYWRsaW5lLXN5bnRheAlzeW50YXgudHh0CS8qZnQtcmVhZGxpbmUtc3ludGF4KgorZnQtcmV4eC1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LXJleHgtc3ludGF4KgorZnQtcnVieS1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LXJ1Ynktc3ludGF4KgorZnQtc2NoZW1lLXN5bnRheAlzeW50YXgudHh0CS8qZnQtc2NoZW1lLXN5bnRheCoKK2Z0LXNkbC1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LXNkbC1zeW50YXgqCitmdC1zZWQtc3ludGF4CXN5bnRheC50eHQJLypmdC1zZWQtc3ludGF4KgorZnQtc2dtbC1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LXNnbWwtc3ludGF4KgorZnQtc2gtc3ludGF4CXN5bnRheC50eHQJLypmdC1zaC1zeW50YXgqCitmdC1zcGVjLXBsdWdpbglmaWxldHlwZS50eHQJLypmdC1zcGVjLXBsdWdpbioKK2Z0LXNwdXAtc3ludGF4CXN5bnRheC50eHQJLypmdC1zcHVwLXN5bnRheCoKK2Z0LXNxbC1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LXNxbC1zeW50YXgqCitmdC1zcWxpbmZvcm1peC1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LXNxbGluZm9ybWl4LXN5bnRheCoKK2Z0LXRjc2gtc3ludGF4CXN5bnRheC50eHQJLypmdC10Y3NoLXN5bnRheCoKK2Z0LXRlcm1jYXAtc3ludGF4CXN5bnRheC50eHQJLypmdC10ZXJtY2FwLXN5bnRheCoKK2Z0LXRleC1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LXRleC1zeW50YXgqCitmdC10Zi1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LXRmLXN5bnRheCoKK2Z0LXZiLXN5bnRheAlzeW50YXgudHh0CS8qZnQtdmItc3ludGF4KgorZnQtdmVyaWxvZy1pbmRlbnQJaW5kZW50LnR4dAkvKmZ0LXZlcmlsb2ctaW5kZW50KgorZnQtdmltLWluZGVudAlpbmRlbnQudHh0CS8qZnQtdmltLWluZGVudCoKK2Z0LXZpbS1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LXZpbS1zeW50YXgqCitmdC14Zjg2Y29uZi1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LXhmODZjb25mLXN5bnRheCoKK2Z0LXhtbC1zeW50YXgJc3ludGF4LnR4dAkvKmZ0LXhtbC1zeW50YXgqCitmdC14cG0tc3ludGF4CXN5bnRheC50eHQJLypmdC14cG0tc3ludGF4KgogZnRkZXRlY3QJZmlsZXR5cGUudHh0CS8qZnRkZXRlY3QqCiBmdHAJcGlfbmV0cncudHh0CS8qZnRwKgogZnRwbHVnaW4JdXNyXzQxLnR4dAkvKmZ0cGx1Z2luKgpAQCAtNDk5MSw3ICs1MDU5LDYgQEAKIGZ1bmN0aW9uLXJhbmdlLWV4YW1wbGUJZXZhbC50eHQJLypmdW5jdGlvbi1yYW5nZS1leGFtcGxlKgogZnVuY3Rpb25fa2V5CWludHJvLnR4dAkvKmZ1bmN0aW9uX2tleSoKIGZ1bmN0aW9ucwlldmFsLnR4dAkvKmZ1bmN0aW9ucyoKLWZ2d20tc3ludGF4CXN5bnRheC50eHQJLypmdndtLXN5bnRheCoKIGZ2d20udmltCXN5bnRheC50eHQJLypmdndtLnZpbSoKIGZ2d20ycmMJc3ludGF4LnR4dAkvKmZ2d20ycmMqCiBmdndtcmMJc3ludGF4LnR4dAkvKmZ2d21yYyoKQEAgLTUxMjUsNyArNTE5Miw2IEBACiBncmFwaGljLW9wdGlvbi1nb25lCXZlcnNpb240LnR4dAkvKmdyYXBoaWMtb3B0aW9uLWdvbmUqCiBncmVlawlvcHRpb25zLnR4dAkvKmdyZWVrKgogZ3JlcAlxdWlja2ZpeC50eHQJLypncmVwKgotZ3JvZmYtc3ludGF4CXN5bnRheC50eHQJLypncm9mZi1zeW50YXgqCiBncm9mZi52aW0Jc3ludGF4LnR4dAkvKmdyb2ZmLnZpbSoKIGdyb3VwLW5hbWUJc3ludGF4LnR4dAkvKmdyb3VwLW5hbWUqCiBncwl2YXJpb3VzLnR4dAkvKmdzKgpAQCAtNTIxMywxMyArNTI3OSwxMyBAQAogaGFzKCkJZXZhbC50eHQJLypoYXMoKSoKIGhhcy1wYXRjaAlldmFsLnR4dAkvKmhhcy1wYXRjaCoKIGhhc19rZXkoKQlldmFsLnR4dAkvKmhhc19rZXkoKSoKLWhhc2tlbGwtc3ludGF4CXN5bnRheC50eHQJLypoYXNrZWxsLXN5bnRheCoKIGhhc2tlbGwudmltCXN5bnRheC50eHQJLypoYXNrZWxsLnZpbSoKIGhhc21hcHRvKCkJZXZhbC50eHQJLypoYXNtYXB0bygpKgogaGVicmV3CWhlYnJldy50eHQJLypoZWJyZXcqCiBoZWJyZXcudHh0CWhlYnJldy50eHQJLypoZWJyZXcudHh0KgogaGVscAl2YXJpb3VzLnR4dAkvKmhlbHAqCiBoZWxwLWNvbnRleHQJaGVscC50eHQJLypoZWxwLWNvbnRleHQqCitoZWxwLXRhZ3MJdGFncwkxCiBoZWxwLXRyYW5zbGF0ZWQJdmFyaW91cy50eHQJLypoZWxwLXRyYW5zbGF0ZWQqCiBoZWxwLXh0ZXJtLXdpbmRvdwl2YXJpb3VzLnR4dAkvKmhlbHAteHRlcm0td2luZG93KgogaGVscC50eHQJaGVscC50eHQJLypoZWxwLnR4dCoKQEAgLTUzMDcsOSArNTM3Myw3IEBACiBob3d0by50eHQJaG93dG8udHh0CS8qaG93dG8udHh0KgogaHB0ZXJtCXRlcm0udHh0CS8qaHB0ZXJtKgogaHB0ZXJtLWNvbG9yCXN5bnRheC50eHQJLypocHRlcm0tY29sb3IqCi1odG1sLXN5bnRheAlzeW50YXgudHh0CS8qaHRtbC1zeW50YXgqCiBodG1sLnZpbQlzeW50YXgudHh0CS8qaHRtbC52aW0qCi1odG1sb3Mtc3ludGF4CXN5bnRheC50eHQJLypodG1sb3Mtc3ludGF4KgogaHRtbG9zLnZpbQlzeW50YXgudHh0CS8qaHRtbG9zLnZpbSoKIGh0dHAJcGlfbmV0cncudHh0CS8qaHR0cCoKIGkJaW5zZXJ0LnR4dAkvKmkqCkBAIC01NDIwLDcgKzU0ODQsNiBAQAogaV9kaWdyYXBoCWRpZ3JhcGgudHh0CS8qaV9kaWdyYXBoKgogaV9lc2MJaW50cm8udHh0CS8qaV9lc2MqCiBpYAltb3Rpb24udHh0CS8qaWAqCi1pYTY0LXN5bnRheAlzeW50YXgudHh0CS8qaWE2NC1zeW50YXgqCiBpYTY0LnZpbQlzeW50YXgudHh0CS8qaWE2NC52aW0qCiBpYgltb3Rpb24udHh0CS8qaWIqCiBpY2NmCXVnYW5kYS50eHQJLyppY2NmKgpAQCAtNTQ2MCw3ICs1NTIzLDYgQEAKIGluZGV4KCkJZXZhbC50eHQJLyppbmRleCgpKgogaW5kZXgudHh0CWluZGV4LnR4dAkvKmluZGV4LnR4dCoKIGluZm8tbWVzc2FnZQlzdGFydGluZy50eHQJLyppbmZvLW1lc3NhZ2UqCi1pbmZvcm0tc3ludGF4CXN5bnRheC50eHQJLyppbmZvcm0tc3ludGF4KgogaW5mb3JtLnZpbQlzeW50YXgudHh0CS8qaW5mb3JtLnZpbSoKIGluaXRpYWxpemF0aW9uCXN0YXJ0aW5nLnR4dAkvKmluaXRpYWxpemF0aW9uKgogaW5wdXQoKQlldmFsLnR4dAkvKmlucHV0KCkqCkBAIC01NTExLDcgKzU1NzMsNiBAQAogagltb3Rpb24udHh0CS8qaioKIGphdmEtY2lub3B0aW9ucwlpbmRlbnQudHh0CS8qamF2YS1jaW5vcHRpb25zKgogamF2YS1pbmRlbnRpbmcJaW5kZW50LnR4dAkvKmphdmEtaW5kZW50aW5nKgotamF2YS1zeW50YXgJc3ludGF4LnR4dAkvKmphdmEtc3ludGF4KgogamF2YS52aW0Jc3ludGF4LnR4dAkvKmphdmEudmltKgogam9pbigpCWV2YWwudHh0CS8qam9pbigpKgoganNidGVybS1tb3VzZQlvcHRpb25zLnR4dAkvKmpzYnRlcm0tbW91c2UqCkBAIC01NTQ2LDEwICs1NjA3LDggQEAKIGtleXBhZC1wb2ludAlpbnRyby50eHQJLyprZXlwYWQtcG9pbnQqCiBrZXlzKCkJZXZhbC50eHQJLyprZXlzKCkqCiBrbm93bi1idWdzCXRvZG8udHh0CS8qa25vd24tYnVncyoKLWtzaC1zeW50YXgJc3ludGF4LnR4dAkvKmtzaC1zeW50YXgqCiBsCW1vdGlvbi50eHQJLypsKgogbDp2YXIJZXZhbC50eHQJLypsOnZhcioKLWxhY2Utc3ludGF4CXN5bnRheC50eHQJLypsYWNlLXN5bnRheCoKIGxhY2UudmltCXN5bnRheC50eHQJLypsYWNlLnZpbSoKIGxhbmctdmFyaWFibGUJZXZhbC50eHQJLypsYW5nLXZhcmlhYmxlKgogbGFuZ3VhZ2UtbWFwcGluZwltYXAudHh0CS8qbGFuZ3VhZ2UtbWFwcGluZyoKQEAgLTU1NjEsNyArNTYyMCw2IEBACiBsZW4oKQlldmFsLnR4dAkvKmxlbigpKgogbGVzcwl2YXJpb3VzLnR4dAkvKmxlc3MqCiBsZXR0ZXIJcHJpbnQudHh0CS8qbGV0dGVyKgotbGV4LXN5bnRheAlzeW50YXgudHh0CS8qbGV4LXN5bnRheCoKIGxleC52aW0Jc3ludGF4LnR4dAkvKmxleC52aW0qCiBsaGFza2VsbC52aW0Jc3ludGF4LnR4dAkvKmxoYXNrZWxsLnZpbSoKIGxpYmNhbGwoKQlldmFsLnR4dAkvKmxpYmNhbGwoKSoKQEAgLTU1ODEsNyArNTYzOSw2IEBACiBsaXN0LWluZGV4CWV2YWwudHh0CS8qbGlzdC1pbmRleCoKIGxpc3QtbW9kaWZpY2F0aW9uCWV2YWwudHh0CS8qbGlzdC1tb2RpZmljYXRpb24qCiBsaXN0LXJlcGVhdAl3aW5kb3dzLnR4dAkvKmxpc3QtcmVwZWF0KgotbGl0ZS1zeW50YXgJc3ludGF4LnR4dAkvKmxpdGUtc3ludGF4KgogbGl0ZS52aW0Jc3ludGF4LnR4dAkvKmxpdGUudmltKgogbGl0ZXJhbC1zdHJpbmcJZXZhbC50eHQJLypsaXRlcmFsLXN0cmluZyoKIGxudW0tdmFyaWFibGUJZXZhbC50eHQJLypsbnVtLXZhcmlhYmxlKgpAQCAtNTU5Nyw5ICs1NjU0LDcgQEAKIGxvY2FsdGltZSgpCWV2YWwudHh0CS8qbG9jYWx0aW1lKCkqCiBsb25nLWxpbmVzCXZlcnNpb241LnR4dAkvKmxvbmctbGluZXMqCiBsb3dlcmNhc2UJY2hhbmdlLnR4dAkvKmxvd2VyY2FzZSoKLWxwYy1zeW50YXgJc3ludGF4LnR4dAkvKmxwYy1zeW50YXgqCiBscGMudmltCXN5bnRheC50eHQJLypscGMudmltKgotbHVhLXN5bnRheAlzeW50YXgudHh0CS8qbHVhLXN5bnRheCoKIGx1YS52aW0Jc3ludGF4LnR4dAkvKmx1YS52aW0qCiBtCW1vdGlvbi50eHQJLyptKgogbScJbW90aW9uLnR4dAkvKm0nKgpAQCAtNTYxNiwxMyArNTY3MSwxMCBAQAogbWFjaW50b3NoCW9zX21hYy50eHQJLyptYWNpbnRvc2gqCiBtYWNybwltYXAudHh0CS8qbWFjcm8qCiBtYWlsLWxpc3QJaW50cm8udHh0CS8qbWFpbC1saXN0KgotbWFpbC1wbHVnaW4JZmlsZXR5cGUudHh0CS8qbWFpbC1wbHVnaW4qCiBtYWlsLnZpbQlzeW50YXgudHh0CS8qbWFpbC52aW0qCiBtYWlsbGlzdAlpbnRyby50eHQJLyptYWlsbGlzdCoKIG1haWxsaXN0LWFyY2hpdmUJaW50cm8udHh0CS8qbWFpbGxpc3QtYXJjaGl2ZSoKLW1ha2Utc3ludGF4CXN5bnRheC50eHQJLyptYWtlLXN5bnRheCoKIG1ha2UudmltCXN5bnRheC50eHQJLyptYWtlLnZpbSoKLW1hbi1wbHVnaW4JZmlsZXR5cGUudHh0CS8qbWFuLXBsdWdpbioKIG1hbnVhbC1jb3B5cmlnaHQJdXNyXzAxLnR4dAkvKm1hbnVhbC1jb3B5cmlnaHQqCiBtYXAoKQlldmFsLnR4dAkvKm1hcCgpKgogbWFwLTxTSUQ+CW1hcC50eHQJLyptYXAtPFNJRD4qCkBAIC01NjQ4LDE0ICs1NzAwLDEyIEBACiBtYXBfc3BhY2VfaW5fcmhzCW1hcC50eHQJLyptYXBfc3BhY2VfaW5fcmhzKgogbWFwYXJnKCkJZXZhbC50eHQJLyptYXBhcmcoKSoKIG1hcGNoZWNrKCkJZXZhbC50eHQJLyptYXBjaGVjaygpKgotbWFwbGUtc3ludGF4CXN5bnRheC50eHQJLyptYXBsZS1zeW50YXgqCiBtYXBsZS52aW0Jc3ludGF4LnR4dAkvKm1hcGxlLnZpbSoKIG1hcGxlYWRlcgltYXAudHh0CS8qbWFwbGVhZGVyKgogbWFwbG9jYWxsZWFkZXIJbWFwLnR4dAkvKm1hcGxvY2FsbGVhZGVyKgogbWFwcGluZwltYXAudHh0CS8qbWFwcGluZyoKIG1hcmsJbW90aW9uLnR4dAkvKm1hcmsqCiBtYXJrLW1vdGlvbnMJbW90aW9uLnR4dAkvKm1hcmstbW90aW9ucyoKLW1hc20tc3ludGF4CXN5bnRheC50eHQJLyptYXNtLXN5bnRheCoKIG1hc20udmltCXN5bnRheC50eHQJLyptYXNtLnZpbSoKIG1hdGNoKCkJZXZhbC50eHQJLyptYXRjaCgpKgogbWF0Y2gtaGlnaGxpZ2h0CXBhdHRlcm4udHh0CS8qbWF0Y2gtaGlnaGxpZ2h0KgpAQCAtNTY2Myw3ICs1NzEzLDYgQEAKIG1hdGNoaXQtaW5zdGFsbAl1c3JfMDUudHh0CS8qbWF0Y2hpdC1pbnN0YWxsKgogbWF0Y2hsaXN0KCkJZXZhbC50eHQJLyptYXRjaGxpc3QoKSoKIG1hdGNoc3RyKCkJZXZhbC50eHQJLyptYXRjaHN0cigpKgotbWF0aGVtYXRpY2Etc3ludGF4CXN5bnRheC50eHQJLyptYXRoZW1hdGljYS1zeW50YXgqCiBtYXgoKQlldmFsLnR4dAkvKm1heCgpKgogbWJ5dGUtSU1FCW1ieXRlLnR4dAkvKm1ieXRlLUlNRSoKIG1ieXRlLVhJTQltYnl0ZS50eHQJLyptYnl0ZS1YSU0qCkBAIC01NjkzLDcgKzU3NDIsNiBAQAogbWlzc2luZy1vcHRpb25zCXZpX2RpZmYudHh0CS8qbWlzc2luZy1vcHRpb25zKgogbWtkaXIoKQlldmFsLnR4dAkvKm1rZGlyKCkqCiBtbGFuZy50eHQJbWxhbmcudHh0CS8qbWxhbmcudHh0KgotbW1hLXN5bnRheAlzeW50YXgudHh0CS8qbW1hLXN5bnRheCoKIG1tYS52aW0Jc3ludGF4LnR4dAkvKm1tYS52aW0qCiBtb2RlKCkJZXZhbC50eHQJLyptb2RlKCkqCiBtb2RlLUV4CWludHJvLnR4dAkvKm1vZGUtRXgqCkBAIC01NzA2LDcgKzU3NTQsNiBAQAogbW9kZWxpbmUJb3B0aW9ucy50eHQJLyptb2RlbGluZSoKIG1vZGVsaW5lLWxvY2FsCW9wdGlvbnMudHh0CS8qbW9kZWxpbmUtbG9jYWwqCiBtb2RlbGluZS12ZXJzaW9uCW9wdGlvbnMudHh0CS8qbW9kZWxpbmUtdmVyc2lvbioKLW1vby1zeW50YXgJc3ludGF4LnR4dAkvKm1vby1zeW50YXgqCiBtb28udmltCXN5bnRheC50eHQJLyptb28udmltKgogbW9yZS1jb21wYXRpYmxlCXZlcnNpb241LnR4dAkvKm1vcmUtY29tcGF0aWJsZSoKIG1vcmUtcHJvbXB0CW1lc3NhZ2UudHh0CS8qbW9yZS1wcm9tcHQqCkBAIC01NzMxLDcgKzU3NzgsNiBAQAogbXNkb3MtcHJvYmxlbXMJb3NfbXNkb3MudHh0CS8qbXNkb3MtcHJvYmxlbXMqCiBtc2Rvcy10ZXJtY2FwCW9zX21zZG9zLnR4dAkvKm1zZG9zLXRlcm1jYXAqCiBtc2Rvcy12ZXJzaW9ucwlvc19tc2Rvcy50eHQJLyptc2Rvcy12ZXJzaW9ucyoKLW1zcWwtc3ludGF4CXN5bnRheC50eHQJLyptc3FsLXN5bnRheCoKIG1zcWwudmltCXN5bnRheC50eHQJLyptc3FsLnZpbSoKIG1zd2luLnZpbQlndWlfdzMyLnR4dAkvKm1zd2luLnZpbSoKIG11bHRpLWJ5dGUJbWJ5dGUudHh0CS8qbXVsdGktYnl0ZSoKQEAgLTU3NTksNyArNTgwNSw2IEBACiBtenNjaGVtZS12aW1leHQJaWZfbXpzY2gudHh0CS8qbXpzY2hlbWUtdmltZXh0KgogbXpzY2hlbWUtd2luZG93CWlmX216c2NoLnR4dAkvKm16c2NoZW1lLXdpbmRvdyoKIG4JcGF0dGVybi50eHQJLypuKgotbmFzbS1zeW50YXgJc3ludGF4LnR4dAkvKm5hc20tc3ludGF4KgogbmFzbS52aW0Jc3ludGF4LnR4dAkvKm5hc20udmltKgogbmF2aWdhdGlvbgltb3Rpb24udHh0CS8qbmF2aWdhdGlvbioKIG5iLWNvbW1hbmRzCW5ldGJlYW5zLnR4dAkvKm5iLWNvbW1hbmRzKgpAQCAtNTc2OCw3ICs1ODEzLDYgQEAKIG5iLW1lc3NhZ2VzCW5ldGJlYW5zLnR4dAkvKm5iLW1lc3NhZ2VzKgogbmItc3BlY2lhbAluZXRiZWFucy50eHQJLypuYi1zcGVjaWFsKgogbmItdGVybXMJbmV0YmVhbnMudHh0CS8qbmItdGVybXMqCi1uY2Ytc3ludGF4CXN5bnRheC50eHQJLypuY2Ytc3ludGF4KgogbmNmLnZpbQlzeW50YXgudHh0CS8qbmNmLnZpbSoKIG5ldGJlYW5zCW5ldGJlYW5zLnR4dAkvKm5ldGJlYW5zKgogbmV0YmVhbnMtY29tbWFuZHMJbmV0YmVhbnMudHh0CS8qbmV0YmVhbnMtY29tbWFuZHMqCkBAIC01NzkyLDYgKzU4MzYsNyBAQAogbmV0cnctUglwaV9uZXRydy50eHQJLypuZXRydy1SKgogbmV0cnctUwlwaV9uZXRydy50eHQJLypuZXRydy1TKgogbmV0cnctVQlwaV9uZXRydy50eHQJLypuZXRydy1VKgorbmV0cnctYQlwaV9uZXRydy50eHQJLypuZXRydy1hKgogbmV0cnctYWN0aXZhdGUJcGlfbmV0cncudHh0CS8qbmV0cnctYWN0aXZhdGUqCiBuZXRydy1iCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LWIqCiBuZXRydy1ib29rbWFyawlwaV9uZXRydy50eHQJLypuZXRydy1ib29rbWFyayoKQEAgLTU4MzAsOCArNTg3NSw4IEBACiBuZXRydy1ob3JpeglwaV9uZXRydy50eHQJLypuZXRydy1ob3JpeioKIG5ldHJ3LWkJcGlfbmV0cncudHh0CS8qbmV0cnctaSoKIG5ldHJ3LWxpc3QJcGlfbmV0cncudHh0CS8qbmV0cnctbGlzdCoKK25ldHJ3LWxpc3QtaGFjawlwaV9uZXRydy50eHQJLypuZXRydy1saXN0LWhhY2sqCiBuZXRydy1saXN0Ym9va21hcmsJcGlfbmV0cncudHh0CS8qbmV0cnctbGlzdGJvb2ttYXJrKgotbmV0cnctbGlzdGhhY2sJcGlfbmV0cncudHh0CS8qbmV0cnctbGlzdGhhY2sqCiBuZXRydy1tYXBzCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LW1hcHMqCiBuZXRydy1tb3ZlCXBpX25ldHJ3LnR4dAkvKm5ldHJ3LW1vdmUqCiBuZXRydy1uZXRyYwlwaV9uZXRydy50eHQJLypuZXRydy1uZXRyYyoKQEAgLTU5NTUsNyArNjAwMCw2IEBACiBub3RhdGlvbglpbnRyby50eHQJLypub3RhdGlvbioKIG5vdGVwYWQJZ3VpX3czMi50eHQJLypub3RlcGFkKgogbnIyY2hhcigpCWV2YWwudHh0CS8qbnIyY2hhcigpKgotbnJvZmYtc3ludGF4CXN5bnRheC50eHQJLypucm9mZi1zeW50YXgqCiBucm9mZi52aW0Jc3ludGF4LnR4dAkvKm5yb2ZmLnZpbSoKIG51bWJlcmVkLWZ1bmN0aW9uCWV2YWwudHh0CS8qbnVtYmVyZWQtZnVuY3Rpb24qCiBvCWluc2VydC50eHQJLypvKgpAQCAtNTk2Niw3ICs2MDEwLDYgQEAKIG9iamVjdC1zZWxlY3QJbW90aW9uLnR4dAkvKm9iamVjdC1zZWxlY3QqCiBvYmplY3RzCWluZGV4LnR4dAkvKm9iamVjdHMqCiBvYnRhaW5pbmctZXh0ZWQJbmV0YmVhbnMudHh0CS8qb2J0YWluaW5nLWV4dGVkKgotb2NhbWwtc3ludGF4CXN5bnRheC50eHQJLypvY2FtbC1zeW50YXgqCiBvY2FtbC52aW0Jc3ludGF4LnR4dAkvKm9jYW1sLnZpbSoKIG9sZS1hY3RpdmF0aW9uCWlmX29sZS50eHQJLypvbGUtYWN0aXZhdGlvbioKIG9sZS1ldmFsCWlmX29sZS50eHQJLypvbGUtZXZhbCoKQEAgLTYwMDksMTAgKzYwNTIsOCBAQAogcGFnZV9kb3duCWludHJvLnR4dAkvKnBhZ2VfZG93bioKIHBhZ2VfdXAJaW50cm8udHh0CS8qcGFnZV91cCoKIHBhZ2VyCW1lc3NhZ2UudHh0CS8qcGFnZXIqCi1wYXBwLXN5bnRheAlzeW50YXgudHh0CS8qcGFwcC1zeW50YXgqCiBwYXBwLnZpbQlzeW50YXgudHh0CS8qcGFwcC52aW0qCiBwYXJhZ3JhcGgJbW90aW9uLnR4dAkvKnBhcmFncmFwaCoKLXBhc2NhbC1zeW50YXgJc3ludGF4LnR4dAkvKnBhc2NhbC1zeW50YXgqCiBwYXNjYWwudmltCXN5bnRheC50eHQJLypwYXNjYWwudmltKgogcGF0dGVybglwYXR0ZXJuLnR4dAkvKnBhdHRlcm4qCiBwYXR0ZXJuLWF0b21zCXBhdHRlcm4udHh0CS8qcGF0dGVybi1hdG9tcyoKQEAgLTYwNDQsNyArNjA4NSw2IEBACiBwZXJsLWVkaXRpbmcJaWZfcGVybC50eHQJLypwZXJsLWVkaXRpbmcqCiBwZXJsLW92ZXJ2aWV3CWlmX3BlcmwudHh0CS8qcGVybC1vdmVydmlldyoKIHBlcmwtcGF0dGVybnMJcGF0dGVybi50eHQJLypwZXJsLXBhdHRlcm5zKgotcGVybC1zeW50YXgJc3ludGF4LnR4dAkvKnBlcmwtc3ludGF4KgogcGVybC11c2luZwlpZl9wZXJsLnR4dAkvKnBlcmwtdXNpbmcqCiBwZXJsLnZpbQlzeW50YXgudHh0CS8qcGVybC52aW0qCiBwZXhwci1vcHRpb24JcHJpbnQudHh0CS8qcGV4cHItb3B0aW9uKgpAQCAtNjA1MiwxMSArNjA5Miw4IEBACiBwaGVhZGVyLW9wdGlvbglwcmludC50eHQJLypwaGVhZGVyLW9wdGlvbioKIHBob3Rvbi1mb250cwlvc19xbngudHh0CS8qcGhvdG9uLWZvbnRzKgogcGhvdG9uLWd1aQlvc19xbngudHh0CS8qcGhvdG9uLWd1aSoKLXBocC1zeW50YXgJc3ludGF4LnR4dAkvKnBocC1zeW50YXgqCiBwaHAudmltCXN5bnRheC50eHQJLypwaHAudmltKgotcGhwMy1zeW50YXgJc3ludGF4LnR4dAkvKnBocDMtc3ludGF4KgogcGhwMy52aW0Jc3ludGF4LnR4dAkvKnBocDMudmltKgotcGh0bWwtc3ludGF4CXN5bnRheC50eHQJLypwaHRtbC1zeW50YXgqCiBwaHRtbC52aW0Jc3ludGF4LnR4dAkvKnBodG1sLnZpbSoKIHBpX2d6aXAudHh0CXBpX2d6aXAudHh0CS8qcGlfZ3ppcC50eHQqCiBwaV9uZXRydy50eHQJcGlfbmV0cncudHh0CS8qcGlfbmV0cncudHh0KgpAQCAtNjA3NSwxNCArNjExMiwxMiBAQAogcG9zaXgJdmlfZGlmZi50eHQJLypwb3NpeCoKIHBvc2l4LWNvbXBsaWFuY2UJdmlfZGlmZi50eHQJLypwb3NpeC1jb21wbGlhbmNlKgogcG9zaXgtc2NyZWVuLXNpemUJdmlfZGlmZi50eHQJLypwb3NpeC1zY3JlZW4tc2l6ZSoKLXBvc3RzY3Itc3ludGF4CXN5bnRheC50eHQJLypwb3N0c2NyLXN5bnRheCoKIHBvc3RzY3IudmltCXN5bnRheC50eHQJLypwb3N0c2NyLnZpbSoKIHBvc3RzY3JpcHQtY2prLXByaW50aW5nCXByaW50LnR4dAkvKnBvc3RzY3JpcHQtY2prLXByaW50aW5nKgogcG9zdHNjcmlwdC1wcmludC1lbmNvZGluZwlwcmludC50eHQJLypwb3N0c2NyaXB0LXByaW50LWVuY29kaW5nKgogcG9zdHNjcmlwdC1wcmludC10cm91YmxlCXByaW50LnR4dAkvKnBvc3RzY3JpcHQtcHJpbnQtdHJvdWJsZSoKIHBvc3RzY3JpcHQtcHJpbnQtdXRpbAlwcmludC50eHQJLypwb3N0c2NyaXB0LXByaW50LXV0aWwqCiBwb3N0c2NyaXB0LXByaW50aW5nCXByaW50LnR4dAkvKnBvc3RzY3JpcHQtcHJpbnRpbmcqCi1wcHdpei1zeW50YXgJc3ludGF4LnR4dAkvKnBwd2l6LXN5bnRheCoKIHBwd2l6LnZpbQlzeW50YXgudHh0CS8qcHB3aXoudmltKgogcHJlc3MtZW50ZXIJbWVzc2FnZS50eHQJLypwcmVzcy1lbnRlcioKIHByZXNzLXJldHVybgltZXNzYWdlLnR4dAkvKnByZXNzLXJldHVybioKQEAgLTYwOTIsNyArNjEyNyw2IEBACiBwcmludC1pbnRybwlwcmludC50eHQJLypwcmludC1pbnRybyoKIHByaW50LW9wdGlvbnMJcHJpbnQudHh0CS8qcHJpbnQtb3B0aW9ucyoKIHByaW50LnR4dAlwcmludC50eHQJLypwcmludC50eHQqCi1wcmludGNhcC1zeW50YXgJc3ludGF4LnR4dAkvKnByaW50Y2FwLXN5bnRheCoKIHByaW50ZigpCWV2YWwudHh0CS8qcHJpbnRmKCkqCiBwcmludGluZwlwcmludC50eHQJLypwcmludGluZyoKIHByaW50aW5nLWZvcm1mZWVkCXByaW50LnR4dAkvKnByaW50aW5nLWZvcm1mZWVkKgpAQCAtNjEwMCw5ICs2MTM0LDcgQEAKIHByb2ZpbGluZwlyZXBlYXQudHh0CS8qcHJvZmlsaW5nKgogcHJvZmlsaW5nLXZhcmlhYmxlCWV2YWwudHh0CS8qcHJvZmlsaW5nLXZhcmlhYmxlKgogcHJvZ25hbWUtdmFyaWFibGUJZXZhbC50eHQJLypwcm9nbmFtZS12YXJpYWJsZSoKLXByb2dyZXNzLXN5bnRheAlzeW50YXgudHh0CS8qcHJvZ3Jlc3Mtc3ludGF4KgogcHJvZ3Jlc3MudmltCXN5bnRheC50eHQJLypwcm9ncmVzcy52aW0qCi1wdGNhcC1zeW50YXgJc3ludGF4LnR4dAkvKnB0Y2FwLXN5bnRheCoKIHB0Y2FwLnZpbQlzeW50YXgudHh0CS8qcHRjYXAudmltKgogcHRlcm0tbW91c2UJb3B0aW9ucy50eHQJLypwdGVybS1tb3VzZSoKIHB1dAljaGFuZ2UudHh0CS8qcHV0KgpAQCAtNjExNiwxMSArNjE0OCw5IEBACiBweXRob24tZXJyb3IJaWZfcHl0aC50eHQJLypweXRob24tZXJyb3IqCiBweXRob24tZXZhbAlpZl9weXRoLnR4dAkvKnB5dGhvbi1ldmFsKgogcHl0aG9uLWV4YW1wbGVzCWlmX3B5dGgudHh0CS8qcHl0aG9uLWV4YW1wbGVzKgotcHl0aG9uLWluZGVudAlpbmRlbnQudHh0CS8qcHl0aG9uLWluZGVudCoKIHB5dGhvbi1pbnB1dAlpZl9weXRoLnR4dAkvKnB5dGhvbi1pbnB1dCoKIHB5dGhvbi1vdXRwdXQJaWZfcHl0aC50eHQJLypweXRob24tb3V0cHV0KgogcHl0aG9uLXJhbmdlCWlmX3B5dGgudHh0CS8qcHl0aG9uLXJhbmdlKgotcHl0aG9uLXN5bnRheAlzeW50YXgudHh0CS8qcHl0aG9uLXN5bnRheCoKIHB5dGhvbi12aW0JaWZfcHl0aC50eHQJLypweXRob24tdmltKgogcHl0aG9uLXdpbmRvdwlpZl9weXRoLnR4dAkvKnB5dGhvbi13aW5kb3cqCiBweXRob24td2luZG93cwlpZl9weXRoLnR4dAkvKnB5dGhvbi13aW5kb3dzKgpAQCAtNjEzMyw3ICs2MTYzLDYgQEAKIHFueC1jb21waWxpbmcJb3NfcW54LnR4dAkvKnFueC1jb21waWxpbmcqCiBxbngtZ2VuZXJhbAlvc19xbngudHh0CS8qcW54LWdlbmVyYWwqCiBxbngtdGVybWluYWwJb3NfcW54LnR4dAkvKnFueC10ZXJtaW5hbCoKLXF1YWtlLXN5bnRheAlzeW50YXgudHh0CS8qcXVha2Utc3ludGF4KgogcXVha2UudmltCXN5bnRheC50eHQJLypxdWFrZS52aW0qCiBxdWlja2ZpeAlxdWlja2ZpeC50eHQJLypxdWlja2ZpeCoKIHF1aWNrZml4LTYJdmVyc2lvbjYudHh0CS8qcXVpY2tmaXgtNioKQEAgLTYxODgsNyArNjIxNyw2IEBACiByZWFkLW9ubHktc2hhcmUJZWRpdGluZy50eHQJLypyZWFkLW9ubHktc2hhcmUqCiByZWFkLXN0ZGluCXZlcnNpb241LnR4dAkvKnJlYWQtc3RkaW4qCiByZWFkZmlsZSgpCWV2YWwudHh0CS8qcmVhZGZpbGUoKSoKLXJlYWRsaW5lLXN5bnRheAlzeW50YXgudHh0CS8qcmVhZGxpbmUtc3ludGF4KgogcmVhZGxpbmUudmltCXN5bnRheC50eHQJLypyZWFkbGluZS52aW0qCiByZWNvcmRpbmcJcmVwZWF0LnR4dAkvKnJlY29yZGluZyoKIHJlY292ZXIudHh0CXJlY292ZXIudHh0CS8qcmVjb3Zlci50eHQqCkBAIC02MjI3LDcgKzYyNTUsNiBAQAogcmV0YWItZXhhbXBsZQljaGFuZ2UudHh0CS8qcmV0YWItZXhhbXBsZSoKIHJldGhyb3cJZXZhbC50eHQJLypyZXRocm93KgogcmV2ZXJzZSgpCWV2YWwudHh0CS8qcmV2ZXJzZSgpKgotcmV4eC1zeW50YXgJc3ludGF4LnR4dAkvKnJleHgtc3ludGF4KgogcmV4eC52aW0Jc3ludGF4LnR4dAkvKnJleHgudmltKgogcmdiLnR4dAlndWlfdzMyLnR4dAkvKnJnYi50eHQqCiByZ3ZpZXcJc3RhcnRpbmcudHh0CS8qcmd2aWV3KgpAQCAtNjI1Nyw3ICs2Mjg0LDYgQEAKIHJ1YnktZ2xvYmFscwlpZl9ydWJ5LnR4dAkvKnJ1YnktZ2xvYmFscyoKIHJ1YnktbWVzc2FnZQlpZl9ydWJ5LnR4dAkvKnJ1YnktbWVzc2FnZSoKIHJ1Ynktc2V0X29wdGlvbglpZl9ydWJ5LnR4dAkvKnJ1Ynktc2V0X29wdGlvbioKLXJ1Ynktc3ludGF4CXN5bnRheC50eHQJLypydWJ5LXN5bnRheCoKIHJ1YnktdmltCWlmX3J1YnkudHh0CS8qcnVieS12aW0qCiBydWJ5LXdpbmRvdwlpZl9ydWJ5LnR4dAkvKnJ1Ynktd2luZG93KgogcnVieS52aW0Jc3ludGF4LnR4dAkvKnJ1YnkudmltKgpAQCAtNjI5Nyw3ICs2MzIzLDYgQEAKIHNhbmRib3gJZXZhbC50eHQJLypzYW5kYm94Kgogc2F2ZS1maWxlCWVkaXRpbmcudHh0CS8qc2F2ZS1maWxlKgogc2F2ZS1zZXR0aW5ncwlzdGFydGluZy50eHQJLypzYXZlLXNldHRpbmdzKgotc2NoZW1lLXN5bnRheAlzeW50YXgudHh0CS8qc2NoZW1lLXN5bnRheCoKIHNjaGVtZS52aW0Jc3ludGF4LnR4dAkvKnNjaGVtZS52aW0qCiBzY3AJcGlfbmV0cncudHh0CS8qc2NwKgogc2NyaXB0CXVzcl80MS50eHQJLypzY3JpcHQqCkBAIC02MzE4LDcgKzYzNDMsNiBAQAogc2Nyb2xsYmluZC1xdWlja2FkaglzY3JvbGwudHh0CS8qc2Nyb2xsYmluZC1xdWlja2FkaioKIHNjcm9sbGJpbmQtcmVsYXRpdmUJc2Nyb2xsLnR4dAkvKnNjcm9sbGJpbmQtcmVsYXRpdmUqCiBzY3JvbGxpbmcJc2Nyb2xsLnR4dAkvKnNjcm9sbGluZyoKLXNkbC1zeW50YXgJc3ludGF4LnR4dAkvKnNkbC1zeW50YXgqCiBzZGwudmltCXN5bnRheC50eHQJLypzZGwudmltKgogc2VhcmNoKCkJZXZhbC50eHQJLypzZWFyY2goKSoKIHNlYXJjaC1jb21tYW5kcwlwYXR0ZXJuLnR4dAkvKnNlYXJjaC1jb21tYW5kcyoKQEAgLTYzMjgsNyArNjM1Miw2IEBACiBzZWFyY2gtcmVwbGFjZQljaGFuZ2UudHh0CS8qc2VhcmNoLXJlcGxhY2UqCiBzZWFyY2hwYWlyKCkJZXZhbC50eHQJLypzZWFyY2hwYWlyKCkqCiBzZWN0aW9uCW1vdGlvbi50eHQJLypzZWN0aW9uKgotc2VkLXN5bnRheAlzeW50YXgudHh0CS8qc2VkLXN5bnRheCoKIHNlZC52aW0Jc3ludGF4LnR4dAkvKnNlZC52aW0qCiBzZWxmCWV2YWwudHh0CS8qc2VsZioKIHNlbmQtbW9uZXkJc3BvbnNvci50eHQJLypzZW5kLW1vbmV5KgpAQCAtNjM0OSw5ICs2MzcyLDcgQEAKIHNldHRpbmctZ3VpZm9udAlndWkudHh0CS8qc2V0dGluZy1ndWlmb250Kgogc2V0d2ludmFyKCkJZXZhbC50eHQJLypzZXR3aW52YXIoKSoKIHNmdHAJcGlfbmV0cncudHh0CS8qc2Z0cCoKLXNnbWwtc3ludGF4CXN5bnRheC50eHQJLypzZ21sLXN5bnRheCoKIHNnbWwudmltCXN5bnRheC50eHQJLypzZ21sLnZpbSoKLXNoLXN5bnRheAlzeW50YXgudHh0CS8qc2gtc3ludGF4Kgogc2gudmltCXN5bnRheC50eHQJLypzaC52aW0qCiBzaGVsbC13aW5kb3cJdGlwcy50eHQJLypzaGVsbC13aW5kb3cqCiBzaGVsbF9lcnJvci12YXJpYWJsZQlldmFsLnR4dAkvKnNoZWxsX2Vycm9yLXZhcmlhYmxlKgpAQCAtNjM4Miw3ICs2NDAzLDYgQEAKIHNwYWNlCWludHJvLnR4dAkvKnNwYWNlKgogc3BlYy1jdXN0b21pemluZwlwaV9zcGVjLnR4dAkvKnNwZWMtY3VzdG9taXppbmcqCiBzcGVjLWhvdy10by11c2UtaXQJcGlfc3BlYy50eHQJLypzcGVjLWhvdy10by11c2UtaXQqCi1zcGVjLXBsdWdpbglmaWxldHlwZS50eHQJLypzcGVjLXBsdWdpbioKIHNwZWMtc2V0dGluZy1hLW1hcAlwaV9zcGVjLnR4dAkvKnNwZWMtc2V0dGluZy1hLW1hcCoKIHNwZWNfY2hnbG9nX2Zvcm1hdAlwaV9zcGVjLnR4dAkvKnNwZWNfY2hnbG9nX2Zvcm1hdCoKIHNwZWNfY2hnbG9nX3ByZXBlbmQJcGlfc3BlYy50eHQJLypzcGVjX2NoZ2xvZ19wcmVwZW5kKgpAQCAtNjM5NywxMSArNjQxNywxMyBAQAogc3BlbGwtQ09NUE9VTkRNQVgJc3BlbGwudHh0CS8qc3BlbGwtQ09NUE9VTkRNQVgqCiBzcGVsbC1DT01QT1VORE1JTglzcGVsbC50eHQJLypzcGVsbC1DT01QT1VORE1JTioKIHNwZWxsLUNPTVBPVU5EU1lMTUFYCXNwZWxsLnR4dAkvKnNwZWxsLUNPTVBPVU5EU1lMTUFYKgorc3BlbGwtRkxBRwlzcGVsbC50eHQJLypzcGVsbC1GTEFHKgogc3BlbGwtRk9MCXNwZWxsLnR4dAkvKnNwZWxsLUZPTCoKIHNwZWxsLUtFUAlzcGVsbC50eHQJLypzcGVsbC1LRVAqCiBzcGVsbC1MT1cJc3BlbGwudHh0CS8qc3BlbGwtTE9XKgogc3BlbGwtTUFQCXNwZWxsLnR4dAkvKnNwZWxsLU1BUCoKIHNwZWxsLU5FRURBRkZJWAlzcGVsbC50eHQJLypzcGVsbC1ORUVEQUZGSVgqCitzcGVsbC1ORUVEQ09NUE9VTkQJc3BlbGwudHh0CS8qc3BlbGwtTkVFRENPTVBPVU5EKgogc3BlbGwtTk9CUkVBSwlzcGVsbC50eHQJLypzcGVsbC1OT0JSRUFLKgogc3BlbGwtUEZYCXNwZWxsLnR4dAkvKnNwZWxsLVBGWCoKIHNwZWxsLVBGWFBPU1RQT05FCXNwZWxsLnR4dAkvKnNwZWxsLVBGWFBPU1RQT05FKgpAQCAtNjQ0MiwxMSArNjQ2NCw4IEBACiBzcG9uc29yLWZhcQlzcG9uc29yLnR4dAkvKnNwb25zb3ItZmFxKgogc3BvbnNvci50eHQJc3BvbnNvci50eHQJLypzcG9uc29yLnR4dCoKIHNwb29uCW9zX3VuaXgudHh0CS8qc3Bvb24qCi1zcHVwLXN5bnRheAlzeW50YXgudHh0CS8qc3B1cC1zeW50YXgqCiBzcHVwLnZpbQlzeW50YXgudHh0CS8qc3B1cC52aW0qCi1zcWwtc3ludGF4CXN5bnRheC50eHQJLypzcWwtc3ludGF4Kgogc3FsLnZpbQlzeW50YXgudHh0CS8qc3FsLnZpbSoKLXNxbGluZm9ybWl4LXN5bnRheAlzeW50YXgudHh0CS8qc3FsaW5mb3JtaXgtc3ludGF4Kgogc3FsaW5mb3JtaXgudmltCXN5bnRheC50eHQJLypzcWxpbmZvcm1peC52aW0qCiBzc2NhbmYJZXZhbC50eHQJLypzc2NhbmYqCiBzdGFuZGFyZC1wbHVnaW4JdXNyXzA1LnR4dAkvKnN0YW5kYXJkLXBsdWdpbioKQEAgLTY3NDQsNyArNjc2Myw2IEBACiB0Y2wtd2luZG93LWhlaWdodAlpZl90Y2wudHh0CS8qdGNsLXdpbmRvdy1oZWlnaHQqCiB0Y2wtd2luZG93LW9wdGlvbglpZl90Y2wudHh0CS8qdGNsLXdpbmRvdy1vcHRpb24qCiB0Y3NoLXN0eWxlCWNtZGxpbmUudHh0CS8qdGNzaC1zdHlsZSoKLXRjc2gtc3ludGF4CXN5bnRheC50eHQJLyp0Y3NoLXN5bnRheCoKIHRjc2gudmltCXN5bnRheC50eHQJLyp0Y3NoLnZpbSoKIHRlYXItb2ZmLW1lbnVzCWd1aS50eHQJLyp0ZWFyLW9mZi1tZW51cyoKIHRlbG5ldC1DVFJMLV0JdGFnc3JjaC50eHQJLyp0ZWxuZXQtQ1RSTC1dKgpAQCAtNjc1OSw3ICs2Nzc3LDYgQEAKIHRlcm1jYXAtY29sb3JzCXRlcm0udHh0CS8qdGVybWNhcC1jb2xvcnMqCiB0ZXJtY2FwLWN1cnNvci1jb2xvcgl0ZXJtLnR4dAkvKnRlcm1jYXAtY3Vyc29yLWNvbG9yKgogdGVybWNhcC1jdXJzb3Itc2hhcGUJdGVybS50eHQJLyp0ZXJtY2FwLWN1cnNvci1zaGFwZSoKLXRlcm1jYXAtc3ludGF4CXN5bnRheC50eHQJLyp0ZXJtY2FwLXN5bnRheCoKIHRlcm1jYXAtdGl0bGUJdGVybS50eHQJLyp0ZXJtY2FwLXRpdGxlKgogdGVybWluYWwtY29sb3JzCW9zX3VuaXgudHh0CS8qdGVybWluYWwtY29sb3JzKgogdGVybWluYWwtaW5mbwl0ZXJtLnR4dAkvKnRlcm1pbmFsLWluZm8qCkBAIC02NzcyLDExICs2Nzg5LDkgQEAKIHRleC1ydW5vbglzeW50YXgudHh0CS8qdGV4LXJ1bm9uKgogdGV4LXNsb3cJc3ludGF4LnR4dAkvKnRleC1zbG93KgogdGV4LXN0eWxlCXN5bnRheC50eHQJLyp0ZXgtc3R5bGUqCi10ZXgtc3ludGF4CXN5bnRheC50eHQJLyp0ZXgtc3ludGF4KgogdGV4LnZpbQlzeW50YXgudHh0CS8qdGV4LnZpbSoKIHRleHQtb2JqZWN0cwltb3Rpb24udHh0CS8qdGV4dC1vYmplY3RzKgogdGV4dC1vYmplY3RzLWNoYW5nZWQJdmVyc2lvbjUudHh0CS8qdGV4dC1vYmplY3RzLWNoYW5nZWQqCi10Zi1zeW50YXgJc3ludGF4LnR4dAkvKnRmLXN5bnRheCoKIHRmLnZpbQlzeW50YXgudHh0CS8qdGYudmltKgogdGhpc19zZXNzaW9uLXZhcmlhYmxlCWV2YWwudHh0CS8qdGhpc19zZXNzaW9uLXZhcmlhYmxlKgogdGhyb3ctY2F0Y2gJZXZhbC50eHQJLyp0aHJvdy1jYXRjaCoKQEAgLTcwMjksMTAgKzcwNDQsOCBAQAogdmFyaW91cy1jbWRzCXZhcmlvdXMudHh0CS8qdmFyaW91cy1jbWRzKgogdmFyaW91cy1tb3Rpb25zCW1vdGlvbi50eHQJLyp2YXJpb3VzLW1vdGlvbnMqCiB2YXJpb3VzLnR4dAl2YXJpb3VzLnR4dAkvKnZhcmlvdXMudHh0KgotdmItc3ludGF4CXN5bnRheC50eHQJLyp2Yi1zeW50YXgqCiB2Yi52aW0Jc3ludGF4LnR4dAkvKnZiLnZpbSoKIHZlcmJvc2UJc3RhcnRpbmcudHh0CS8qdmVyYm9zZSoKLXZlcmlsb2ctaW5kZW50CWluZGVudC50eHQJLyp2ZXJpbG9nLWluZGVudCoKIHZlcnNpb24tNS4xCXZlcnNpb241LnR4dAkvKnZlcnNpb24tNS4xKgogdmVyc2lvbi01LjIJdmVyc2lvbjUudHh0CS8qdmVyc2lvbi01LjIqCiB2ZXJzaW9uLTUuMwl2ZXJzaW9uNS50eHQJLyp2ZXJzaW9uLTUuMyoKQEAgLTcwNjIsMTQgKzcwNzUsMTIgQEAKIHZpbS1hcmd1bWVudHMJc3RhcnRpbmcudHh0CS8qdmltLWFyZ3VtZW50cyoKIHZpbS1kZWZhdWx0LWVkaXRvcglndWlfdzMyLnR4dAkvKnZpbS1kZWZhdWx0LWVkaXRvcioKIHZpbS1kZXYJaW50cm8udHh0CS8qdmltLWRldioKLXZpbS1pbmRlbnQJaW5kZW50LnR4dAkvKnZpbS1pbmRlbnQqCiB2aW0ta3BhcnQJZ3VpX3gxMS50eHQJLyp2aW0ta3BhcnQqCiB2aW0tbWFjCWludHJvLnR4dAkvKnZpbS1tYWMqCiB2aW0tbW9kZXMJaW50cm8udHh0CS8qdmltLW1vZGVzKgogdmltLW1vZGVzLWludHJvCWludHJvLnR4dAkvKnZpbS1tb2Rlcy1pbnRybyoKIHZpbS1tdWx0aWJ5dGUJaW50cm8udHh0CS8qdmltLW11bHRpYnl0ZSoKIHZpbS1zY3JpcHQtaW50cm8JdXNyXzQxLnR4dAkvKnZpbS1zY3JpcHQtaW50cm8qCi12aW0tc3ludGF4CXN5bnRheC50eHQJLyp2aW0tc3ludGF4KgogdmltLXZhcmlhYmxlCWV2YWwudHh0CS8qdmltLXZhcmlhYmxlKgogdmltLnZpbQlzeW50YXgudHh0CS8qdmltLnZpbSoKIHZpbToJb3B0aW9ucy50eHQJLyp2aW06KgpAQCAtNzIxMiw3ICs3MjIzLDYgQEAKIHgxMS1jbGllbnRzZXJ2ZXIJcmVtb3RlLnR4dAkvKngxMS1jbGllbnRzZXJ2ZXIqCiB4MTEtY3V0LWJ1ZmZlcglndWlfeDExLnR4dAkvKngxMS1jdXQtYnVmZmVyKgogeDExLXNlbGVjdGlvbglndWlfeDExLnR4dAkvKngxMS1zZWxlY3Rpb24qCi14Zjg2Y29uZi1zeW50YXgJc3ludGF4LnR4dAkvKnhmODZjb25mLXN5bnRheCoKIHhmODZjb25mLnZpbQlzeW50YXgudHh0CS8qeGY4NmNvbmYudmltKgogeGZvbnRzZXQJbWJ5dGUudHh0CS8qeGZvbnRzZXQqCiB4ZnJlZS14dGVybQlzeW50YXgudHh0CS8qeGZyZWUteHRlcm0qCkBAIC03MjIwLDkgKzcyMzAsNyBAQAogeGltLWlucHV0LXN0eWxlCW1ieXRlLnR4dAkvKnhpbS1pbnB1dC1zdHlsZSoKIHhpdGVybQlzeW50YXgudHh0CS8qeGl0ZXJtKgogeG1sLWZvbGRpbmcJc3ludGF4LnR4dAkvKnhtbC1mb2xkaW5nKgoteG1sLXN5bnRheAlzeW50YXgudHh0CS8qeG1sLXN5bnRheCoKIHhtbC52aW0Jc3ludGF4LnR4dAkvKnhtbC52aW0qCi14cG0tc3ludGF4CXN5bnRheC50eHQJLyp4cG0tc3ludGF4KgogeHBtLnZpbQlzeW50YXgudHh0CS8qeHBtLnZpbSoKIHh0ZXJtLTgtYml0CXRlcm0udHh0CS8qeHRlcm0tOC1iaXQqCiB4dGVybS04Yml0CXRlcm0udHh0CS8qeHRlcm0tOGJpdCoKZGlmZiAtLWdpdCBhL3J1bnRpbWUvZG9jL3RvZG8udHh0IGIvcnVudGltZS9kb2MvdG9kby50eHQKaW5kZXggZjAxOWVmMC4uNmU2MzgxMyAxMDA2NDQKLS0tIGEvcnVudGltZS9kb2MvdG9kby50eHQKKysrIGIvcnVudGltZS9kb2MvdG9kby50eHQKQEAgLTEsNCArMSw0IEBACi0qdG9kby50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgQXVnIDI5CisqdG9kby50eHQqICAgICAgRm9yIFZpbSB2ZXJzaW9uIDcuMGFhLiAgTGFzdCBjaGFuZ2U6IDIwMDUgQXVnIDMwCiAKIAogCQkgIFZJTSBSRUZFUkVOQ0UgTUFOVUFMCSAgYnkgQnJhbSBNb29sZW5hYXIKQEAgLTMwLDU4ICszMCwxNiBAQAogCQkJCQkJCSprbm93bi1idWdzKgogLS0tLS0tLS0tLS0tLS0tLS0tLS0gS25vd24gYnVncyBhbmQgY3VycmVudCB3b3JrIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAKLVNwZWxsaW5nOgotLSBDaGVjayBzdXBwb3J0IG9mIGZsYWdzIG9mIHR3byBjaGFyYWN0ZXJzLCBudW1iZXJzIChjb21tYSBzZXBhcmF0ZWQpIGFuZCBIVUguCi0gIFdoZW4gdXNpbmcgbWFueSBjb21wb3VuZCBmbGFncywgZG9lcyByZWdleHAgc3RpbGwgd29yaz8KK01hYzoKKy0gc3RyaW5ncy5oIGlzIGJvZ3VzLCBhZGQgY29uZmlndXJlIGNoZWNrLgorLSBHVUk6IHBhc3RpbmcgbGluZXMgcmVzdWx0cyBpbiBeTSBpbnN0ZWFkIG9mIGxpbmUgYnJlYWtzLiAoQmVuamFtaW4gRXNoYW0pCistICJjcCAtUiAuLi9ydW50aW1lIGFwcGRpciIgbWF5IGNvcHkgd2F5IHRvbyBtdWNoLgogCi0tICJ6ZyIgZG9lc24ndCB3b3JrIGZvciBUaGFpPworY21kbGluZV9hdF9lbmQoKSBhbmQgY21kbGluZV9vdmVyc3RyaWtlKCkgbWF5IG5vdCBiZSB1c2VkLgogCi0tIENvbXBvdW5kIHdvcmQgaXMgYWNjZXB0ZWQgaWYgbnIgb2Ygd29yZHMgaXMgPD0gQ09NUE9VTkRNQVggT1IgbnIgb2YKLSAgc3lsbGFibGVzIDw9IENPTVBPVU5EU1lMTUFYLiAgU3BlY2lmeSBBTkQgaW4gdGhlIGFmZml4IGZpbGU/CitSdWJ5OiBkb2N1bWVudGF0aW9uIGZvciB3aW5kb3cgd2lkdGggKFdpbmQpCiAKLS0gQ09NUE9VTkRNQVggLT4gQ09NUE9VTkRXT1JETUFYPwotCi0tIFN1cHBvcnQgZmxhZ3Mgb24gYSBzdWZmaXguICBVc2VkIGZvciBzZWNvbmQgbGV2ZWwgYWZmaXhlcy4KLSAgVGhlIGZsYWdzIG1heSBhbHNvIGJlIHVzZWQgZm9yIGNvbXBvdW5kaW5nLiAgRGVmYXVsdCBpcyBhbiBPUiBtZWNoYW5pc20gd2l0aAotICB0aGUgZmxhZ3Mgb2YgdGhlIHdvcmQuICBBZGRpbmcgImNvbXBzZXQiIG9uIHRoZSBhZmZpeGVzIG1lYW5zIHRoZSBjb21wb3VuZAotICBmbGFncyBvZiB0aGUgd29yZCBhcmUgbm90IHVzZWQuCi0gIEluc3RlYWQgb2YgIlNGWCBhIDAgYWRkL0ZMQUdTIC4iIHdlIGNvdWxkIHVzZSAiU0ZYIGEgMCBhZGQgLiAvRkxBR1MiLgotCi0tIE5FRURDT01QT1VORCBhbHNvIHVzZWQgZm9yIGFmZml4PyAgT3IgdXNlICJuZWVkY29tcCIgYWZ0ZXIgYWZmaXg/Ci0KLS0gRG8gd2UgbmVlZCBhIGZsYWcgZm9yIHRoZSBydWxlIHRoYXQgd2hlbiBjb21wb3VuZGluZyBpcyBkb25lIHRoZSBmb2xsb3dpbmcKLSAgd29yZCBkb2Vzbid0IGhhdmUgYSBjYXBpdGFsIGFmdGVyIGEgd29yZCBjaGFyYWN0ZXIsIGV2ZW4gZm9yIE9uZWNhcCB3b3Jkcz8KLQotLSBBbHNvIHNlZSB0a2xzcGVsbDogaHR0cDovL3RrbHRyYW5zLnNvdXJjZWZvcmdlLm5ldC8KLS0gTmV3IGh1bnNwZWxsIGhvbWUgcGFnZTogaHR0cDovL2h1bnNwZWxsLnNvdXJjZWZvcmdlLm5ldC8KLSAgICAtIExvdHMgb2YgY29kZSBkZXBlbmRzIG9uIExBTkcsIHRoYXQgaXNuJ3QgcmlnaHQuICBFbmFibGUgZWFjaCBtZWNoYW5pc20KLSAgICAgIGluIHRoZSBhZmZpeCBmaWxlIHNlcGFyYXRlbHkuCi0gICAgLSBFeGFtcGxlIHdpdGggY29tcG91bmRpbmcgZGFzaCBpcyBiYWQsIGdldHMgaW4gdGhlIHdheSBvZiBzZXR0aW5nCi0gICAgICBDT01QT1VORE1JTiBhbmQgQ09NUE9VTkRNQVggdG8gYSByZWFzb25hYmxlIHZhbHVlLgotICAgIC0gUFNFVURPUk9PVCA9PSBORUVEQUZGSVgKLSAgICAtIENPTVBPVU5EUk9PVCAtPiBDT01QT1VOREVEPyAgRm9yIGEgd29yZCB0aGF0IGFscmVhZHkgaXMgYSBjb21wb3VuZCB3b3JkCi0JICAgIE9yIHVzZSBDT01QT1VOREVEMiwgQ09NUE9VTkRFRDMsIGV0Yy4KLS0gQ0lSQ1VNRklYOiB3aGVuIGEgd29yZCB1c2VzIGEgcHJlZml4IG1hcmtlZCB3aXRoIHRoZSBDSVJDVU1GSVggZmxhZywKLSAgdGhlbiB0aGUgd29yZCBtdXN0IGFsc28gaGF2ZSBhIHN1ZmZpeCBtYXJrZWQgd2l0aCB0aGUgQ0lSQ1VNRklYIGZsYWcuCi0gIEl0J3MgYSBiaXQgcHJpbWl0aXZlLCBzaW5jZSBvbmx5IG9uZSBmbGFnIGlzIHVzZWQsIHdoaWNoIGRvZXNuJ3QgYWxsb3cKLSAgbWF0Y2hpbmcgc3BlY2lmaWMgcHJlZml4ZXMgd2l0aCBzdWZmaXhlcy4KLSAgQWx0ZXJuYXRpdmU6Ci0JUFNGWCB7ZmxhZ30ge3BjaG9wfSB7cGFkZH0ge3Bjb25kfSB7c2Nob3B9IHtzYWRkfVsvZmxhZ3NdIHtzY29uZH0KLSAgV2UgbWlnaHQgbm90IG5lZWQgdGhpcyBhdCBhbGwsIHlvdSBjYW4gdXNlIHRoZSBORUVEQUZGSVggZmxhZy4KLS0gV2hlbiBhIHN1ZmZpeCBoYXMgbW9yZSB0aGFuIG9uZSBzeWxsYWJsZSwgaXQgbWF5IGNvdW50IGFzIGEgd29yZCBmb3IKLSAgQ09NUE9VTkRNQVguCi0tIEFkZCBmbGFncyB0byBjb3VudCBleHRyYSBzeWxsYWJsZXMgaW4gYSB3b3JkLiAgU1lMTEFCTEVBRERPTkUKLSAgU1lMTEFCTEVBRERUV08sIGV0Yy4/ICBPciBtYWtlIGl0IHBvc3NpYmxlIHRvIHNwZWNpZnkgdGhlIHN5bGxhYmxlIGNvdW50Ci0gIG9mIGEgd29yZCBkaXJlY3RseSwgYWZ0ZXIgYW5vdGhlciBzbGFzaDogL2FiYy8zCi0tIE1PUlBITyBpdGVtcyBpZ25vcmVzIG1vcnBob2xvZ2ljYWwgaXRlbXM6IGFmdGVyIHdvcmQgYW5kIGFmZml4Ci0KLS0gSW1wbGVtZW50IG11bHRpcGxlIGZsYWdzIGZvciBjb21wb3VuZCB3b3JkcyBhbmQgQ01QIGl0ZW0/Ci0gIEF3YWl0IGNvbW1lbnRzIGZyb20gb3RoZXIgc3BlbGwgY2hlY2tpbmcgYXV0aG9ycy4KLQotSGVscCB0YWdzOiBzb21ldGhpbmcgdG8gbWFrZSBpdCBlYXN5IHRvIGZpbmQgaGVscCBhYm91dCBhIGNlcnRhaW4gZmlsZXR5cGU/Ci0gICAgdXNlIGZ0LWMtc3ludGF4IGZ0LWMtZnRwbHVnaW4gZXRjLj8KLQotTWFjIEdVSTogcGFzdGluZyBsaW5lcyByZXN1bHRzIGluIF5NIGluc3RlYWQgb2YgbGluZSBicmVha3MuIChCZW5qYW1pbiBFc2hhbSkKK0FkZCBhIGZldyBtb3JlIGxhbmd1YWdlcyBmb3Igc3BlbGwgY2hlY2tpbmcuCiAKIE1hYyB1bmljb2RlIHBhdGNoIChEYSBXb29uIEp1bmcpOgogLSBzZWxlY3RpbmcgcHJvcG9ydGlvbmFsIGZvbnQgYnJlYWtzIGRpc3BsYXkKQEAgLTEzNDgsNiArMTMwNiw0MyBAQAogU3BlbGwgY2hlY2tpbmc6CiA5ICAgV29yayB0b2dldGhlciB3aXRoIE9wZW5PZmZpY2Uub3JnIHRvIHVwZGF0ZSB0aGUgd29yZGxpc3RzLiAgKEFkcmkgVmVyaG9lZiwKICAgICBBYWQgTmFsZXMpICBTZXR1cCB2aW0tc3BlbGwgbWFpbGxpc3Q/CistICAgQ29tcG91bmQgd29yZCBpcyBhY2NlcHRlZCBpZiBuciBvZiB3b3JkcyBpcyA8PSBDT01QT1VORE1BWCBPUiBuciBvZgorICAgIHN5bGxhYmxlcyA8PSBDT01QT1VORFNZTE1BWC4gIFNwZWNpZnkgdXNpbmcgQU5EIGluIHRoZSBhZmZpeCBmaWxlPworLSAgIENPTVBPVU5ETUFYIC0+IENPTVBPVU5EV09SRE1BWD8KKy0gICBTdXBwb3J0IGZsYWdzIG9uIGEgc3VmZml4LiAgVXNlZCBmb3Igc2Vjb25kIGxldmVsIGFmZml4ZXMuICBUaGUgZmxhZ3MgbWF5CisgICAgYWxzbyBiZSB1c2VkIGZvciBjb21wb3VuZGluZy4gIERlZmF1bHQgaXMgYW4gT1IgbWVjaGFuaXNtIHdpdGggdGhlIGZsYWdzCisgICAgb2YgdGhlIHdvcmQuICBBZGRpbmcgImNvbXBzZXQiIG9uIHRoZSBhZmZpeGVzIG1lYW5zIHRoZSBjb21wb3VuZCBmbGFncyBvZgorICAgIHRoZSB3b3JkIGFyZSBub3QgdXNlZC4gIEluc3RlYWQgb2YgIlNGWCBhIDAgYWRkL0ZMQUdTIC4iIHdlIGNvdWxkIHVzZSAiU0ZYCisgICAgYSAwIGFkZCAuIC9GTEFHUyIgKG9yIHN1cHBvcnQgYm90aCkuCistICAgTkVFRENPTVBPVU5EIGFsc28gdXNlZCBmb3IgYWZmaXg/ICBPciB1c2UgIm5lZWRjb21wIiBhZnRlciBhZmZpeD8KKy0gICBEbyB3ZSBuZWVkIGEgZmxhZyBmb3IgdGhlIHJ1bGUgdGhhdCB3aGVuIGNvbXBvdW5kaW5nIGlzIGRvbmUgdGhlIGZvbGxvd2luZworICAgIHdvcmQgZG9lc24ndCBoYXZlIGEgY2FwaXRhbCBhZnRlciBhIHdvcmQgY2hhcmFjdGVyLCBldmVuIGZvciBPbmVjYXAgd29yZHM/CistICAgTmV3IGh1bnNwZWxsIGhvbWUgcGFnZTogaHR0cDovL2h1bnNwZWxsLnNvdXJjZWZvcmdlLm5ldC8KKyAgICAtIExvdHMgb2YgY29kZSBkZXBlbmRzIG9uIExBTkcsIHRoYXQgaXNuJ3QgcmlnaHQuICBFbmFibGUgZWFjaCBtZWNoYW5pc20KKyAgICAgIGluIHRoZSBhZmZpeCBmaWxlIHNlcGFyYXRlbHkuCisgICAgLSBFeGFtcGxlIHdpdGggY29tcG91bmRpbmcgZGFzaCBpcyBiYWQsIGdldHMgaW4gdGhlIHdheSBvZiBzZXR0aW5nCisgICAgICBDT01QT1VORE1JTiBhbmQgQ09NUE9VTkRNQVggdG8gYSByZWFzb25hYmxlIHZhbHVlLgorICAgIC0gUFNFVURPUk9PVCA9PSBORUVEQUZGSVgKKyAgICAtIENPTVBPVU5EUk9PVCAtPiBDT01QT1VOREVEPyAgRm9yIGEgd29yZCB0aGF0IGFscmVhZHkgaXMgYSBjb21wb3VuZCB3b3JkCisJICAgIE9yIHVzZSBDT01QT1VOREVEMiwgQ09NUE9VTkRFRDMsIGV0Yy4KKy0gICBDSVJDVU1GSVg6IHdoZW4gYSB3b3JkIHVzZXMgYSBwcmVmaXggbWFya2VkIHdpdGggdGhlIENJUkNVTUZJWCBmbGFnLCB0aGVuCisgICAgdGhlIHdvcmQgbXVzdCBhbHNvIGhhdmUgYSBzdWZmaXggbWFya2VkIHdpdGggdGhlIENJUkNVTUZJWCBmbGFnLiAgSXQncyBhCisgICAgYml0IHByaW1pdGl2ZSwgc2luY2Ugb25seSBvbmUgZmxhZyBpcyB1c2VkLCB3aGljaCBkb2Vzbid0IGFsbG93IG1hdGNoaW5nCisgICAgc3BlY2lmaWMgcHJlZml4ZXMgd2l0aCBzdWZmaXhlcy4KKyAgICBBbHRlcm5hdGl2ZToKKwlQU0ZYIHtmbGFnfSB7cGNob3B9IHtwYWRkfSB7cGNvbmR9IHtzY2hvcH0ge3NhZGR9Wy9mbGFnc10ge3Njb25kfQorICAgIFdlIG1pZ2h0IG5vdCBuZWVkIHRoaXMgYXQgYWxsLCB5b3UgY2FuIHVzZSB0aGUgTkVFREFGRklYIGZsYWcgYW5kIHRoZQorICAgIGFmZml4IHdoaWNoIGlzIHJlcXVpcmVkLgorLSAgIFdoZW4gYSBzdWZmaXggaGFzIG1vcmUgdGhhbiBvbmUgc3lsbGFibGUsIGl0IG1heSBjb3VudCBhcyBhIHdvcmQgZm9yCisgICAgQ09NUE9VTkRNQVguCistICAgQWRkIGZsYWdzIHRvIGNvdW50IGV4dHJhIHN5bGxhYmxlcyBpbiBhIHdvcmQuICBTWUxMQUJMRUFERDEgU1lMTEFCTEVBREQyLAorICAgIGV0Yy4/ICBPciBtYWtlIGl0IHBvc3NpYmxlIHRvIHNwZWNpZnkgdGhlIHN5bGxhYmxlIGNvdW50IG9mIGEgd29yZAorICAgIGRpcmVjdGx5LCBlLmcuLCBhZnRlciBhbm90aGVyIHNsYXNoOiAvYWJjLzMKKy0gICBNT1JQSE8gaXRlbSBpbiBhZmZpeCBmaWxlOiBpZ25vcmUgbW9ycGhvbG9naWNhbCBmaWVsZHMgYWZ0ZXIgd29yZCBhbmQKKyAgICBhZmZpeC4KKy0gICBJbXBsZW1lbnQgbXVsdGlwbGUgZmxhZ3MgZm9yIGNvbXBvdW5kIHdvcmRzIGFuZCBDTVAgaXRlbT8KKyAgICBBd2FpdCBjb21tZW50cyBmcm9tIG90aGVyIHNwZWxsIGNoZWNraW5nIGF1dGhvcnMuCistICAgQWxzbyBzZWUgdGtsc3BlbGw6IGh0dHA6Ly90a2x0cmFucy5zb3VyY2Vmb3JnZS5uZXQvCiA4ICAgQ2hhcmxlcyBDYW1wYmVsbCBhc2tzIGZvciBtZXRob2QgdG8gYWRkICJjb250YWluZWQiIGdyb3VwcyB0byBleGlzdGluZwogICAgIHN5bnRheCBpdGVtcyAodG8gYWRkIEBTcGVsbCkuCiAgICAgQWRkICI6c3ludGF4IGNvbnRhaW5zIHtwYXR0ZXJufSBhZGQ9QFNwZWxsIiBjb21tYW5kPyAgQSBiaXQgbGlrZSAiOnN5bgpkaWZmIC0tZ2l0IGEvc3JjL2ZpbGVpby5jIGIvc3JjL2ZpbGVpby5jCmluZGV4IGEzNDA0OGMuLmQ0OWQ4N2IgMTAwNjQ0Ci0tLSBhL3NyYy9maWxlaW8uYworKysgYi9zcmMvZmlsZWlvLmMKQEAgLTE1MTUsOCArMTUxNSw2IEBACiAjIGlmZGVmIE1BQ09TX1gKIAkgICAgaWYgKGZpb19mbGFncyAmIEZJT19NQUNST01BTikKIAkgICAgewotCQlleHRlcm4gaW50IG1hY3JvbWFuMmVuYyBfX0FSR1MoKGNoYXJfdSAqcHRyLCBsb25nICpzaXplcCwgbG9uZwotCQkJICAgIHJlYWxfc2l6ZSkpOwogCQkvKgogCQkgKiBDb252ZXJzaW9uIGZyb20gQXBwbGUgTWFjUm9tYW4gY2hhciBlbmNvZGluZyB0byBVVEYtOCBvcgogCQkgKiBsYXRpbjEuICBUaGlzIGlzIGluIG9zX21hY19jb252LmMuCkBAIC00ODE1LDkgKzQ4MTMsNiBAQAogCSAgICAgKi8KIAkgICAgY2hhcl91CSpmcm9tOwogCSAgICBzaXplX3QJZnJvbWxlbjsKLQkgICAgZXh0ZXJuIGludCBlbmMybWFjcm9tYW4gX19BUkdTKChjaGFyX3UgKmZyb20sIHNpemVfdCBmcm9tbGVuLAotCQkJY2hhcl91ICp0bywgaW50ICp0b2xlbnAsIGludCBtYXh0b2xlbiwgY2hhcl91ICpyZXN0LAotCQkJaW50ICpyZXN0bGVucCkpOwogCiAJICAgIGlmIChpcC0+YndfcmVzdGxlbiA+IDApCiAJICAgIHsKZGlmZiAtLWdpdCBhL3NyYy9ndWlfbWFjLmMgYi9zcmMvZ3VpX21hYy5jCmluZGV4IGYwMWRjODYuLjkyNTNhYTEgMTAwNjQ0Ci0tLSBhL3NyYy9ndWlfbWFjLmMKKysrIGIvc3JjL2d1aV9tYWMuYwpAQCAtOTQsMTAgKzk0LDYgQEAKICNpZiBkZWZpbmVkKFVTRV9DQVJCT05JWkVEKSAmJiBkZWZpbmVkKEZFQVRfTUJZVEUpCiAjIGRlZmluZSBVU0VfQ0FSQk9OS0VZSEFORExFUgogc3RhdGljIEV2ZW50SGFuZGxlclVQUCBrZXlFdmVudEhhbmRsZXJVUFAgPSBOVUxMOwotLyogRGVmaW5lZCBpbiBvc19tYWNfY29udi5jICovCi1leHRlcm4gY2hhcl91ICptYWNfdXRmMTZfdG9fZW5jIF9fQVJHUygoVW5pQ2hhciAqZnJvbSwgc2l6ZV90IGZyb21MZW4sIHNpemVfdCAqYWN0dWFsTGVuKSk7Ci1leHRlcm4gVW5pQ2hhciAqbWFjX2VuY190b191dGYxNiBfX0FSR1MoKGNoYXJfdSAqZnJvbSwgc2l6ZV90IGZyb21MZW4sIHNpemVfdCAqYWN0dWFsTGVuKSk7Ci1leHRlcm4gQ0ZTdHJpbmdSZWYgbWFjX2VuY190b19jZnN0cmluZyBfX0FSR1MoKGNoYXJfdSAqZnJvbSwgc2l6ZV90IGZyb21MZW4pKTsKICNlbmRpZgogCiAjaWZkZWYgTUFDT1NfWApAQCAtMTYxOCw3ICsxNjE0LDcgQEAKICAqLwogI2RlZmluZSBGT05UX1NUWUxFX0JVRkZFUl9TSVpFIDMyCiAgICAgc3RhdGljIHZvaWQKLUdldEZvbnRQYW5lbFNlbGVjdGlvbihjaGFyX3UqIG91dE5hbWUpCitHZXRGb250UGFuZWxTZWxlY3Rpb24oY2hhcl91ICpvdXROYW1lKQogewogICAgIFN0cjI1NQkgICAgYnVmOwogICAgIEJ5dGVDb3VudAkgICAgZm9udE5hbWVMZW4gPSAwOwpAQCAtMTYzOSwxMiArMTYzNSwxMiBAQAogCSAqIGdldCBhbiB1bndhbnRlZCB1dGYtMTYgbmFtZSkgKi8KIAlpZiAoQVRTVUZpbmRGb250TmFtZShmaWQsIGtGb250RnVsbE5hbWUsIGtGb250TWFjaW50b3NoUGxhdGZvcm0sCiAJCSAgICBrRm9udE5vU2NyaXB0Q29kZSwga0ZvbnROb0xhbmd1YWdlQ29kZSwKLQkJICAgIDI1NSwgb3V0TmFtZSwgJmZvbnROYW1lTGVuLCBOVUxMKSAhPSBub0VycikKKwkJICAgIDI1NSwgKGNoYXIgKilvdXROYW1lLCAmZm9udE5hbWVMZW4sIE5VTEwpICE9IG5vRXJyKQogCSAgICByZXR1cm47CiAKIAkvKiBPbmx5IGVuY29kZSBmb250IHNpemUsIGJlY2F1c2Ugc3R5bGUgKGJvbGQsIGl0YWxpYywgZXRjKSBpcwogCSAqIGFscmVhZHkgcGFydCBvZiB0aGUgZm9udCBmdWxsIG5hbWUgKi8KLQl2aW1fc25wcmludGYoc3R5bGVTdHJpbmcsIEZPTlRfU1RZTEVfQlVGRkVSX1NJWkUsICI6aCVkIiwKKwl2aW1fc25wcmludGYoKGNoYXIgKilzdHlsZVN0cmluZywgRk9OVF9TVFlMRV9CVUZGRVJfU0laRSwgIjpoJWQiLAogCQlnRm9udFBhbmVsSW5mby5zaXplLyosCiAJCSgoZ0ZvbnRQYW5lbEluZm8uc3R5bGUgJiBib2xkKSE9MCA/ICI6YiIgOiAiIiksCiAJCSgoZ0ZvbnRQYW5lbEluZm8uc3R5bGUgJiBpdGFsaWMpIT0wID8gIjppIiA6ICIiKSwKQEAgLTE2NTUsNyArMTY1MSw3IEBACiAgICAgfQogICAgIGVsc2UKICAgICB7Ci0JKm91dE5hbWUgPSBOVUxMOworCSpvdXROYW1lID0gTlVMOwogICAgIH0KIH0KICNlbmRpZgpkaWZmIC0tZ2l0IGEvc3JjL2lmX3J1YnkuYyBiL3NyYy9pZl9ydWJ5LmMKaW5kZXggMTEyYjkxZS4uNDM5NmI0NiAxMDA2NDQKLS0tIGEvc3JjL2lmX3J1YnkuYworKysgYi9zcmMvaWZfcnVieS5jCkBAIC0xOTEsNyArMTkxLDcgQEAKIHN0YXRpYyBISU5TVEFOQ0UgaGluc3RSdWJ5ID0gMDsgLyogSW5zdGFuY2Ugb2YgcnVieS5kbGwgKi8KIAogLyoKLSAqIFRhYmxlIG9mIG5hbWUgdG8gZnVuY3Rpb24gcG9pbnRlciBvZiBweXRob24uCisgKiBUYWJsZSBvZiBuYW1lIHRvIGZ1bmN0aW9uIHBvaW50ZXIgb2YgcnVieS4KICAqLwogI2RlZmluZSBSVUJZX1BST0MgRkFSUFJPQwogc3RhdGljIHN0cnVjdApAQCAtNzY4LDYgKzc2OCwyNCBAQAogICAgIHJldHVybiBoZWlnaHQ7CiB9CiAKK3N0YXRpYyBWQUxVRSB3aW5kb3dfd2lkdGgoVkFMVUUgc2VsZikKK3sKKyAgICB3aW5fVCAqd2luID0gZ2V0X3dpbihzZWxmKTsKKworICAgIHJldHVybiBJTlQyTlVNKHdpbi0+d193aWR0aCk7Cit9CisKK3N0YXRpYyBWQUxVRSB3aW5kb3dfc2V0X3dpZHRoKFZBTFVFIHNlbGYsIFZBTFVFIHdpZHRoKQoreworICAgIHdpbl9UICp3aW4gPSBnZXRfd2luKHNlbGYpOworICAgIHdpbl9UICpzYXZld2luID0gY3Vyd2luOworCisgICAgY3Vyd2luID0gd2luOworICAgIHdpbl9zZXR3aWR0aChOVU0ySU5UKHdpZHRoKSk7CisgICAgY3Vyd2luID0gc2F2ZXdpbjsKKyAgICByZXR1cm4gd2lkdGg7Cit9CisKIHN0YXRpYyBWQUxVRSB3aW5kb3dfY3Vyc29yKFZBTFVFIHNlbGYpCiB7CiAgICAgd2luX1QgKndpbiA9IGdldF93aW4oc2VsZik7CkBAIC04NjAsNiArODc4LDggQEAKICAgICByYl9kZWZpbmVfbWV0aG9kKGNWaW1XaW5kb3csICJidWZmZXIiLCB3aW5kb3dfYnVmZmVyLCAwKTsKICAgICByYl9kZWZpbmVfbWV0aG9kKGNWaW1XaW5kb3csICJoZWlnaHQiLCB3aW5kb3dfaGVpZ2h0LCAwKTsKICAgICByYl9kZWZpbmVfbWV0aG9kKGNWaW1XaW5kb3csICJoZWlnaHQ9Iiwgd2luZG93X3NldF9oZWlnaHQsIDEpOworICAgIHJiX2RlZmluZV9tZXRob2QoY1ZpbVdpbmRvdywgIndpZHRoIiwgd2luZG93X3dpZHRoLCAwKTsKKyAgICByYl9kZWZpbmVfbWV0aG9kKGNWaW1XaW5kb3csICJ3aWR0aD0iLCB3aW5kb3dfc2V0X3dpZHRoLCAxKTsKICAgICByYl9kZWZpbmVfbWV0aG9kKGNWaW1XaW5kb3csICJjdXJzb3IiLCB3aW5kb3dfY3Vyc29yLCAwKTsKICAgICByYl9kZWZpbmVfbWV0aG9kKGNWaW1XaW5kb3csICJjdXJzb3I9Iiwgd2luZG93X3NldF9jdXJzb3IsIDEpOwogCmRpZmYgLS1naXQgYS9zcmMvbWJ5dGUuYyBiL3NyYy9tYnl0ZS5jCmluZGV4IGQ0NDZhNWIuLmJmODZiNWUgMTAwNjQ0Ci0tLSBhL3NyYy9tYnl0ZS5jCisrKyBiL3NyYy9tYnl0ZS5jCkBAIC01Nzg4LDExICs1Nzg4LDYgQEAKICAgICByZXR1cm4gZGxlbjsKIH0KIAotI2lmIGRlZmluZWQoTUFDT1NfWCkKLS8qIFRoaXMgaXMgaW4gb3NfbWFjX2NvbnYuYy4gKi8KLWV4dGVybiBjaGFyX3UgKm1hY19zdHJpbmdfY29udmVydCBfX0FSR1MoKGNoYXJfdSAqcHRyLCBpbnQgbGVuLCBpbnQgKmxlbnAsIGludCBmYWlsX29uX2Vycm9yLCBpbnQgZnJvbSwgaW50IHRvLCBpbnQgKnVuY29udmxlbnApKTsKLSNlbmRpZgotCiAvKgogICogQ29udmVydCB0ZXh0ICJwdHJbKmxlbnBdIiBhY2NvcmRpbmcgdG8gInZjcCIuCiAgKiBSZXR1cm5zIHRoZSByZXN1bHQgaW4gYWxsb2NhdGVkIG1lbW9yeSBhbmQgc2V0cyAiKmxlbnAiLgpkaWZmIC0tZ2l0IGEvc3JjL25vcm1hbC5jIGIvc3JjL25vcm1hbC5jCmluZGV4IGViZjQwMDguLmU3Y2ZhZDYgMTAwNjQ0Ci0tLSBhL3NyYy9ub3JtYWwuYworKysgYi9zcmMvbm9ybWFsLmMKQEAgLTQ2NzgsNiArNDY3OCwxOCBAQAogCQkJCQkJCQkgICAgICA9PSBGQUlMKQogCQkJcmV0dXJuOwogIyBlbmRpZgorCQkgICAgaWYgKHB0ciA9PSBOVUxMKQorCQkgICAgeworCQkJcG9zX1QJcG9zID0gY3Vyd2luLT53X2N1cnNvcjsKKwkJCWludAlhdHRyOworCisJCQkvKiBGaW5kIGJhZCB3b3JkIHVuZGVyIHRoZSBjdXJzb3IuICovCisJCQlsZW4gPSBzcGVsbF9tb3ZlX3RvKGN1cndpbiwgRk9SV0FSRCwgVFJVRSwgVFJVRSwgJmF0dHIpOworCQkJaWYgKGxlbiAhPSAwICYmIGN1cndpbi0+d19jdXJzb3IuY29sIDw9IHBvcy5jb2wpCisJCQkgICAgcHRyID0gbWxfZ2V0X3BvcygmY3Vyd2luLT53X2N1cnNvcik7CisJCQljdXJ3aW4tPndfY3Vyc29yID0gcG9zOworCQkgICAgfQorCiAJCSAgICBpZiAocHRyID09IE5VTEwgJiYgKGxlbiA9IGZpbmRfaWRlbnRfdW5kZXJfY3Vyc29yKCZwdHIsCiAJCQkJCQkJICAgIEZJTkRfSURFTlQpKSA9PSAwKQogCQkJcmV0dXJuOwpkaWZmIC0tZ2l0IGEvc3JjL29wdGlvbi5jIGIvc3JjL29wdGlvbi5jCmluZGV4IDk4YzBhZDguLmJiZjU2NGEgMTAwNjQ0Ci0tLSBhL3NyYy9vcHRpb24uYworKysgYi9zcmMvb3B0aW9uLmMKQEAgLTI5OTQsNyArMjk5NCw3IEBACiAJCSAgICBrTG9jYWxlUmVnaW9uTWFzayB8IGtMb2NhbGVSZWdpb25WYXJpYW50TWFzaywKIAkJICAgIHNpemVvZiBidWYsIGJ1ZikgPT0gbm9FcnIgJiYgKmJ1ZikKIAl7Ci0JICAgIHZpbV9zZXRlbnYoIkxBTkciLCBidWYpOworCSAgICB2aW1fc2V0ZW52KChjaGFyX3UgKikiTEFORyIsIChjaGFyX3UgKilidWYpOwogIyAgIGlmZGVmIEhBVkVfTE9DQUxFX0gKIAkgICAgc2V0bG9jYWxlKExDX0FMTCwgIiIpOwogIyAgIGVuZGlmCmRpZmYgLS1naXQgYS9zcmMvb3NfbWFjX2NvbnYuYyBiL3NyYy9vc19tYWNfY29udi5jCmluZGV4IGMyNTVlNzMuLmZiY2U1NzcgMTAwNjQ0Ci0tLSBhL3NyYy9vc19tYWNfY29udi5jCisrKyBiL3NyYy9vc19tYWNfY29udi5jCkBAIC0xNywxNyArMTcsNiBAQAogI2luY2x1ZGUgInZpbS5oIgogCiAjaWZkZWYgRkVBVF9NQllURQotZXh0ZXJuIGNoYXJfdSAqbWFjX3N0cmluZ19jb252ZXJ0IF9fQVJHUygoY2hhcl91ICpwdHIsIGludCBsZW4sIGludCAqbGVucCwgaW50IGZhaWxfb25fZXJyb3IsIGludCBmcm9tLCBpbnQgdG8sIGludCAqdW5jb252bGVucCkpOwotZXh0ZXJuIGludCBtYWNyb21hbjJlbmMgX19BUkdTKChjaGFyX3UgKnB0ciwgbG9uZyAqc2l6ZXAsIGxvbmcgcmVhbF9zaXplKSk7Ci1leHRlcm4gaW50IGVuYzJtYWNyb21hbiBfX0FSR1MoKGNoYXJfdSAqZnJvbSwgc2l6ZV90IGZyb21sZW4sIGNoYXJfdSAqdG8sIGludCAqdG9sZW5wLCBpbnQgbWF4dG9sZW4sIGNoYXJfdSAqcmVzdCwgaW50ICpyZXN0bGVucCkpOwotCi1leHRlcm4gdm9pZAkgICAgbWFjX2NvbnZfaW5pdCBfX0FSR1MoKHZvaWQpKTsKLWV4dGVybiB2b2lkCSAgICBtYWNfY29udl9jbGVhbnVwIF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIGNoYXJfdQkgICAgKm1hY191dGYxNl90b19lbmMgX19BUkdTKChVbmlDaGFyICpmcm9tLCBzaXplX3QgZnJvbUxlbiwgc2l6ZV90ICphY3R1YWxMZW4pKTsKLWV4dGVybiBVbmlDaGFyCSAgICAqbWFjX2VuY190b191dGYxNiBfX0FSR1MoKGNoYXJfdSAqZnJvbSwgc2l6ZV90IGZyb21MZW4sIHNpemVfdCAqYWN0dWFsTGVuKSk7Ci1leHRlcm4gQ0ZTdHJpbmdSZWYgIG1hY19lbmNfdG9fY2ZzdHJpbmcgX19BUkdTKChjaGFyX3UgKmZyb20sIHNpemVfdCBmcm9tTGVuKSk7Ci1leHRlcm4gY2hhcl91CSAgICAqbWFjX3ByZWNvbXBvc2VfcGF0aCBfX0FSR1MoKGNoYXJfdSAqZGVjb21wUGF0aCwgc2l6ZV90IGRlY29tcExlbiwgc2l6ZV90ICpwcmVjb21wTGVuKSk7Ci0KIHN0YXRpYyBjaGFyX3UJICAgICptYWNfdXRmMTZfdG9fdXRmOCBfX0FSR1MoKFVuaUNoYXIgKmZyb20sIHNpemVfdCBmcm9tTGVuLCBzaXplX3QgKmFjdHVhbExlbikpOwogc3RhdGljIFVuaUNoYXIJICAgICptYWNfdXRmOF90b191dGYxNiBfX0FSR1MoKGNoYXJfdSAqZnJvbSwgc2l6ZV90IGZyb21MZW4sIHNpemVfdCAqYWN0dWFsTGVuKSk7CiAKQEAgLTExNCw3ICsxMDMsNyBAQAogCiAgICAgaWYgKCFDRlN0cmluZ0dldEJ5dGVzKGNmc3RyLCBjb252ZXJ0UmFuZ2UsIHRvLCBOVUxMLCBGQUxTRSwgcmV0dmFsLCBidWZsZW4sIE5VTEwpKQogI2VuZGlmCi0gICAgaWYgKCFDRlN0cmluZ0dldENTdHJpbmcoY2ZzdHIsIHJldHZhbCwgYnVmbGVuLCB0bykpCisgICAgaWYgKCFDRlN0cmluZ0dldENTdHJpbmcoY2ZzdHIsIChjaGFyICopcmV0dmFsLCBidWZsZW4sIHRvKSkKICAgICB7CiAJQ0ZSZWxlYXNlKGNmc3RyKTsKIAlpZiAoZmFpbF9vbl9lcnJvcikKQEAgLTE0MCwxNCArMTI5LDE0IEBACiAJICAgIH0KIAkgICAgZWxzZQogCSAgICB7Ci0JCWlmICghQ0ZTdHJpbmdHZXRDU3RyaW5nKGNmc3RyLCBkLCBidWZsZW4gLSBvdXQsIHRvKSkKKwkJaWYgKCFDRlN0cmluZ0dldENTdHJpbmcoY2ZzdHIsIChjaGFyICopZCwgYnVmbGVuIC0gb3V0LCB0bykpCiAJCXsKIAkJICAgICpkKysgPSAnPyc7CiAJCSAgICBvdXQrKzsKIAkJfQogCQllbHNlCiAJCXsKLQkJICAgIGkgPSBzdHJsZW4oZCk7CisJCSAgICBpID0gU1RSTEVOKGQpOwogCQkgICAgZCArPSBpOwogCQkgICAgb3V0ICs9IGk7CiAJCX0KQEAgLTE2Miw3ICsxNTEsNyBAQAogICAgIH0KICAgICBDRlJlbGVhc2UoY2ZzdHIpOwogICAgIGlmIChsZW5wICE9IE5VTEwpCi0JKmxlbnAgPSBzdHJsZW4ocmV0dmFsKTsKKwkqbGVucCA9IFNUUkxFTihyZXR2YWwpOwogCiAgICAgcmV0dXJuIHJldHZhbDsKIH0KZGlmZiAtLWdpdCBhL3NyYy9vc191bml4LmMgYi9zcmMvb3NfdW5peC5jCmluZGV4IGQ1NjdmOTAuLjdkMzI0ODIgMTAwNjQ0Ci0tLSBhL3NyYy9vc191bml4LmMKKysrIGIvc3JjL29zX3VuaXguYwpAQCAtMTczLDE3ICsxNzMsNiBAQAogc3RhdGljIGludCAgaGF2ZV9kb2xsYXJzIF9fQVJHUygoaW50LCBjaGFyX3UgKiopKTsKICNlbmRpZgogCi0jaWZuZGVmIE5PX0VYUEFORFBBVEgKLSMgaWYgZGVmaW5lZChNQUNPU19YKSAmJiBkZWZpbmVkKEZFQVRfTUJZVEUpCi1leHRlcm4gY2hhcl91CSptYWNfcHJlY29tcG9zZV9wYXRoIF9fQVJHUygoY2hhcl91ICpkZWNvbXBQYXRoLCBzaXplX3QgZGVjb21wTGVuLCBzaXplX3QgKnByZWNvbXBMZW4pKTsKLSMgZW5kaWYKLSNlbmRpZgotCi0jaWYgZGVmaW5lZChNQUNPU19YKSAmJiBkZWZpbmVkKEZFQVRfTUJZVEUpCi1leHRlcm4gdm9pZAltYWNfY29udl9pbml0IF9fQVJHUygodm9pZCkpOwotZXh0ZXJuIHZvaWQJbWFjX2NvbnZfY2xlYW51cCBfX0FSR1MoKHZvaWQpKTsKLSNlbmRpZgotCiAjaWZuZGVmIF9fRU1YX18KIHN0YXRpYyBpbnQgc2F2ZV9wYXR0ZXJucyBfX0FSR1MoKGludCBudW1fcGF0LCBjaGFyX3UgKipwYXQsIGludCAqbnVtX2ZpbGUsIGNoYXJfdSAqKipmaWxlKSk7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NyYy9wcm90by5oIGIvc3JjL3Byb3RvLmgKaW5kZXggNGMwZGIzNy4uNjExNjU3OCAxMDA2NDQKLS0tIGEvc3JjL3Byb3RvLmgKKysrIGIvc3JjL3Byb3RvLmgKQEAgLTI2MSw2ICsyNjEsMTAgQEAKICMgaW5jbHVkZSAiaWZfcGVybHNmaW8ucHJvIgogI2VuZGlmCiAKKyNpZiBkZWZpbmVkKEZFQVRfTUJZVEUpICYmIGRlZmluZWQoTUFDT1NfWCkKKyMgaW5jbHVkZSAib3NfbWFjX2NvbnYucHJvIgorI2VuZGlmCisKICNpZmRlZiBfX0JPUkxBTkRDX18KICMgZGVmaW5lIF9QUk9UT19ICiAjZW5kaWYKZGlmZiAtLWdpdCBhL3NyYy9wcm90by9ndWlfbWFjLnBybyBiL3NyYy9wcm90by9ndWlfbWFjLnBybwppbmRleCA5MzNmZTRkLi5jNjQwMzUxIDEwMDY0NAotLS0gYS9zcmMvcHJvdG8vZ3VpX21hYy5wcm8KKysrIGIvc3JjL3Byb3RvL2d1aV9tYWMucHJvCkBAIC00Nyw2ICs0Nyw3IEBACiBndWljb2xvcl9UIGd1aV9tY2hfZ2V0X2NvbG9yIF9fQVJHUygoY2hhcl91ICpuYW1lKSk7CiB2b2lkIGd1aV9tY2hfc2V0X2ZnX2NvbG9yIF9fQVJHUygoZ3VpY29sb3JfVCBjb2xvcikpOwogdm9pZCBndWlfbWNoX3NldF9iZ19jb2xvciBfX0FSR1MoKGd1aWNvbG9yX1QgY29sb3IpKTsKK3ZvaWQgZ3VpX21jaF9zZXRfc3BfY29sb3IgX19BUkdTKChndWljb2xvcl9UIGNvbG9yKSk7CiB2b2lkIGd1aV9tY2hfZHJhd19zdHJpbmcgX19BUkdTKChpbnQgcm93LCBpbnQgY29sLCBjaGFyX3UgKnMsIGludCBsZW4sIGludCBmbGFncykpOwogaW50IGd1aV9tY2hfaGFza2V5IF9fQVJHUygoY2hhcl91ICpuYW1lKSk7CiB2b2lkIGd1aV9tY2hfYmVlcCBfX0FSR1MoKHZvaWQpKTsKZGlmZiAtLWdpdCBhL3NyYy9wcm90by9vc19tYWNfY29udi5wcm8gYi9zcmMvcHJvdG8vb3NfbWFjX2NvbnYucHJvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhYjlkMjgKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvcHJvdG8vb3NfbWFjX2NvbnYucHJvCkBAIC0wLDAgKzEsMTAgQEAKK2V4dGVybiBjaGFyX3UgKm1hY19zdHJpbmdfY29udmVydCBfX0FSR1MoKGNoYXJfdSAqcHRyLCBpbnQgbGVuLCBpbnQgKmxlbnAsIGludCBmYWlsX29uX2Vycm9yLCBpbnQgZnJvbSwgaW50IHRvLCBpbnQgKnVuY29udmxlbnApKTsKK2V4dGVybiBpbnQgbWFjcm9tYW4yZW5jIF9fQVJHUygoY2hhcl91ICpwdHIsIGxvbmcgKnNpemVwLCBsb25nIHJlYWxfc2l6ZSkpOworZXh0ZXJuIGludCBlbmMybWFjcm9tYW4gX19BUkdTKChjaGFyX3UgKmZyb20sIHNpemVfdCBmcm9tbGVuLCBjaGFyX3UgKnRvLCBpbnQgKnRvbGVucCwgaW50IG1heHRvbGVuLCBjaGFyX3UgKnJlc3QsIGludCAqcmVzdGxlbnApKTsKKworZXh0ZXJuIHZvaWQJICAgIG1hY19jb252X2luaXQgX19BUkdTKCh2b2lkKSk7CitleHRlcm4gdm9pZAkgICAgbWFjX2NvbnZfY2xlYW51cCBfX0FSR1MoKHZvaWQpKTsKK2V4dGVybiBjaGFyX3UJICAgICptYWNfdXRmMTZfdG9fZW5jIF9fQVJHUygoVW5pQ2hhciAqZnJvbSwgc2l6ZV90IGZyb21MZW4sIHNpemVfdCAqYWN0dWFsTGVuKSk7CitleHRlcm4gVW5pQ2hhcgkgICAgKm1hY19lbmNfdG9fdXRmMTYgX19BUkdTKChjaGFyX3UgKmZyb20sIHNpemVfdCBmcm9tTGVuLCBzaXplX3QgKmFjdHVhbExlbikpOworZXh0ZXJuIENGU3RyaW5nUmVmICBtYWNfZW5jX3RvX2Nmc3RyaW5nIF9fQVJHUygoY2hhcl91ICpmcm9tLCBzaXplX3QgZnJvbUxlbikpOworZXh0ZXJuIGNoYXJfdQkgICAgKm1hY19wcmVjb21wb3NlX3BhdGggX19BUkdTKChjaGFyX3UgKmRlY29tcFBhdGgsIHNpemVfdCBkZWNvbXBMZW4sIHNpemVfdCAqcHJlY29tcExlbikpOwpkaWZmIC0tZ2l0IGEvc3JjL3NjcmVlbi5jIGIvc3JjL3NjcmVlbi5jCmluZGV4IGJhMzQ1YWUuLjJjMzlhYzcgMTAwNjQ0Ci0tLSBhL3NyYy9zY3JlZW4uYworKysgYi9zcmMvc2NyZWVuLmMKQEAgLTI5MzksNiArMjkzOSwxMCBAQAogCQl3b3JkX2VuZCA9IHdwLT53X2N1cnNvci5jb2wgKyBsZW4gKyAxOwogCiAJICAgIHdwLT53X2N1cnNvciA9IHBvczsKKworCSAgICAvKiBOZWVkIHRvIHJlc3RhcnQgc3ludGF4IGhpZ2hsaWdodGluZyBmb3IgdGhpcyBsaW5lLiAqLworCSAgICBpZiAoaGFzX3N5bnRheCkKKwkJc3ludGF4X3N0YXJ0KHdwLCBsbnVtKTsKIAl9CiAjZW5kaWYKICAgICB9CmRpZmYgLS1naXQgYS9zcmMvc3BlbGwuYyBiL3NyYy9zcGVsbC5jCmluZGV4IDJiMDRiZjguLjU2Yzg5MWQgMTAwNjQ0Ci0tLSBhL3NyYy9zcGVsbC5jCisrKyBiL3NyYy9zcGVsbC5jCkBAIC0zNzUsNyArMzc1LDcgQEAKICAgICBjaGFyX3UJKnNsX21pZHdvcmQ7CS8qIE1JRFdPUkQgc3RyaW5nIG9yIE5VTEwgKi8KIAogICAgIGludAkJc2xfY29tcG1heDsJLyogQ09NUE9VTkRNQVggKGRlZmF1bHQ6IE1BWFdMRU4pICovCi0gICAgaW50CQlzbF9jb21wbWlubGVuOwkvKiBDT01QT1VORE1JTiAoZGVmYXVsdDogTUFYV0xFTikgKi8KKyAgICBpbnQJCXNsX2NvbXBtaW5sZW47CS8qIENPTVBPVU5ETUlOIChkZWZhdWx0OiAwKSAqLwogICAgIGludAkJc2xfY29tcHN5bG1heDsJLyogQ09NUE9VTkRTWUxNQVggKGRlZmF1bHQ6IE1BWFdMRU4pICovCiAgICAgcmVncHJvZ19UCSpzbF9jb21wcHJvZzsJLyogQ09NUE9VTkRGTEFHUyB0dXJuZWQgaW50byBhIHJlZ2V4cCBwcm9ncm0KIAkJCQkgKiAoTlVMTCB3aGVuIG5vIGNvbXBvdW5kaW5nKSAqLwpAQCAtMTI5OSw3ICsxMjk5LDcgQEAKIAkJLyogRm9yIG11bHRpLWJ5dGUgY2hhcnMgY2hlY2sgY2hhcmFjdGVyIGxlbmd0aCBhZ2FpbnN0CiAJCSAqIENPTVBPVU5ETUlOLiAqLwogCQlpZiAoaGFzX21ieXRlCi0JCQkmJiBzbGFuZy0+c2xfY29tcG1pbmxlbiA8IE1BWFdMRU4KKwkJCSYmIHNsYW5nLT5zbF9jb21wbWlubGVuID4gMAogCQkJJiYgbWJfY2hhcmxlbl9sZW4obWlwLT5taV93b3JkICsgbWlwLT5taV9jb21wb2ZmLAogCQkJCXdsZW4gLSBtaXAtPm1pX2NvbXBvZmYpIDwgc2xhbmctPnNsX2NvbXBtaW5sZW4pCiAJCQljb250aW51ZTsKQEAgLTEzODgsNiArMTM4OCw4IEBACiAJICAgIHsKIAkJaW50CXNhdmVfcmVzdWx0ID0gbWlwLT5taV9yZXN1bHQ7CiAJCWNoYXJfdQkqc2F2ZV9lbmQgPSBtaXAtPm1pX2VuZDsKKwkJbGFuZ3BfVAkqc2F2ZV9scCA9IG1pcC0+bWlfbHA7CisJCWludAlscGk7CiAKIAkJLyogQ2hlY2sgdGhhdCBhIHZhbGlkIHdvcmQgZm9sbG93cy4gIElmIHRoZXJlIGlzIG9uZSBhbmQgd2UKIAkJICogYXJlIGNvbXBvdW5kaW5nLCBpdCB3aWxsIHNldCAibWlfcmVzdWx0IiwgdGh1cyB3ZSBhcmUKQEAgLTE0MTcsMjUgKzE0MTksNDMgQEAKICNlbmRpZgogCQljID0gbWlwLT5taV9jb21wb2ZmOwogCQkrK21pcC0+bWlfY29tcGxlbjsKLQkJZmluZF93b3JkKG1pcCwgRklORF9DT01QT1VORCk7CiAKLQkJLyogV2hlbiBOT0JSRUFLIGFueSB3b3JkIHRoYXQgbWF0Y2hlcyBpcyBPSy4gIE90aGVyd2lzZSB3ZQotCQkgKiBuZWVkIHRvIGZpbmQgdGhlIGxvbmdlc3QgbWF0Y2gsIHRodXMgdHJ5IHdpdGgga2VlcC1jYXNlIGFuZAotCQkgKiBwcmVmaXggdG9vLiAqLwotCQlpZiAoIXNsYW5nLT5zbF9ub2JyZWFrIHx8IG1pcC0+bWlfcmVzdWx0ID09IFNQX0JBRCkKKwkJLyogRm9yIE5PQlJFQUsgd2UgbmVlZCB0byB0cnkgYWxsIE5PQlJFQUsgbGFuZ3VhZ2VzLCBhdCBsZWFzdAorCQkgKiB0byBmaW5kIHRoZSAiLmFkZCIgZmlsZShzKS4gKi8KKwkJZm9yIChscGkgPSAwOyBscGkgPCBtaXAtPm1pX2J1Zi0+Yl9sYW5ncC5nYV9sZW47ICsrbHBpKQogCQl7Ci0JCSAgICAvKiBGaW5kIGZvbGxvd2luZyB3b3JkIGluIGtlZXAtY2FzZSB0cmVlLiAqLwotCQkgICAgbWlwLT5taV9jb21wb2ZmID0gd2xlbjsKLQkJICAgIGZpbmRfd29yZChtaXAsIEZJTkRfS0VFUENPTVBPVU5EKTsKKwkJICAgIGlmIChzbGFuZy0+c2xfbm9icmVhaykKKwkJICAgIHsKKwkJCW1pcC0+bWlfbHAgPSBMQU5HUF9FTlRSWShtaXAtPm1pX2J1Zi0+Yl9sYW5ncCwgbHBpKTsKKwkJCWlmIChtaXAtPm1pX2xwLT5scF9zbGFuZy0+c2xfZmlkeHMgPT0gTlVMTAorCQkJCQkgfHwgIW1pcC0+bWlfbHAtPmxwX3NsYW5nLT5zbF9ub2JyZWFrKQorCQkJICAgIGNvbnRpbnVlOworCQkgICAgfQogCisJCSAgICBmaW5kX3dvcmQobWlwLCBGSU5EX0NPTVBPVU5EKTsKKworCQkgICAgLyogV2hlbiBOT0JSRUFLIGFueSB3b3JkIHRoYXQgbWF0Y2hlcyBpcyBPSy4gIE90aGVyd2lzZSB3ZQorCQkgICAgICogbmVlZCB0byBmaW5kIHRoZSBsb25nZXN0IG1hdGNoLCB0aHVzIHRyeSB3aXRoIGtlZXAtY2FzZQorCQkgICAgICogYW5kIHByZWZpeCB0b28uICovCiAJCSAgICBpZiAoIXNsYW5nLT5zbF9ub2JyZWFrIHx8IG1pcC0+bWlfcmVzdWx0ID09IFNQX0JBRCkKIAkJICAgIHsKLQkJCS8qIENoZWNrIGZvciBmb2xsb3dpbmcgd29yZCB3aXRoIHByZWZpeC4gKi8KLQkJCW1pcC0+bWlfY29tcG9mZiA9IGM7Ci0JCQlmaW5kX3ByZWZpeChtaXAsIEZJTkRfQ09NUE9VTkQpOworCQkJLyogRmluZCBmb2xsb3dpbmcgd29yZCBpbiBrZWVwLWNhc2UgdHJlZS4gKi8KKwkJCW1pcC0+bWlfY29tcG9mZiA9IHdsZW47CisJCQlmaW5kX3dvcmQobWlwLCBGSU5EX0tFRVBDT01QT1VORCk7CisKKwkJCWlmICghc2xhbmctPnNsX25vYnJlYWsgfHwgbWlwLT5taV9yZXN1bHQgPT0gU1BfQkFEKQorCQkJeworCQkJICAgIC8qIENoZWNrIGZvciBmb2xsb3dpbmcgd29yZCB3aXRoIHByZWZpeC4gKi8KKwkJCSAgICBtaXAtPm1pX2NvbXBvZmYgPSBjOworCQkJICAgIGZpbmRfcHJlZml4KG1pcCwgRklORF9DT01QT1VORCk7CisJCQl9CiAJCSAgICB9CisKKwkJICAgIGlmICghc2xhbmctPnNsX25vYnJlYWspCisJCQlicmVhazsKIAkJfQogCQktLW1pcC0+bWlfY29tcGxlbjsKKwkJbWlwLT5taV9scCA9IHNhdmVfbHA7CiAKIAkJaWYgKHNsYW5nLT5zbF9ub2JyZWFrKQogCQl7CkBAIC0yMDM3LDYgKzIwNTcsMTMgQEAKICAgICB9CiB9CiAKK3R5cGVkZWYgc3RydWN0IHNwZWxsb2FkX1MKK3sKKyAgICBjaGFyX3UgIHNsX2xhbmdbTUFYV0xFTiArIDFdOwkvKiBsYW5ndWFnZSBuYW1lICovCisgICAgc2xhbmdfVCAqc2xfc2xhbmc7CQkJLyogcmVzdWx0aW5nIHNsYW5nX1Qgc3RydWN0ICovCisgICAgaW50CSAgICBzbF9ub2JyZWFrOwkJCS8qIE5PQlJFQUsgbGFuZ3VhZ2UgZm91bmQgKi8KK30gc3BlbGxvYWRfVDsKKwogLyoKICAqIExvYWQgd29yZCBsaXN0KHMpIGZvciAibGFuZyIgZnJvbSBWaW0gc3BlbGwgZmlsZShzKS4KICAqICJsYW5nIiBtdXN0IGJlIHRoZSBsYW5ndWFnZSB3aXRob3V0IHRoZSByZWdpb246IGUuZy4sICJlbiIuCkBAIC0yMDQ3LDM1ICsyMDc0LDM3IEBACiB7CiAgICAgY2hhcl91CWZuYW1lX2VuY1s4NV07CiAgICAgaW50CQlyOwotICAgIGNoYXJfdQlsYW5nY3BbTUFYV0xFTiArIDFdOworICAgIHNwZWxsb2FkX1QJc2w7CiAKICAgICAvKiBDb3B5IHRoZSBsYW5ndWFnZSBuYW1lIHRvIHBhc3MgaXQgdG8gc3BlbGxfbG9hZF9jYigpIGFzIGEgY29va2llLgogICAgICAqIEl0J3MgdHJ1bmNhdGVkIHdoZW4gYW4gZXJyb3IgaXMgZGV0ZWN0ZWQuICovCi0gICAgU1RSQ1BZKGxhbmdjcCwgbGFuZyk7CisgICAgU1RSQ1BZKHNsLnNsX2xhbmcsIGxhbmcpOworICAgIHNsLnNsX3NsYW5nID0gTlVMTDsKKyAgICBzbC5zbF9ub2JyZWFrID0gRkFMU0U7CiAKICAgICAvKgogICAgICAqIEZpbmQgdGhlIGZpcnN0IHNwZWxsIGZpbGUgZm9yICJsYW5nIiBpbiAncnVudGltZXBhdGgnIGFuZCBsb2FkIGl0LgogICAgICAqLwogICAgIHZpbV9zbnByaW50ZigoY2hhciAqKWZuYW1lX2VuYywgc2l6ZW9mKGZuYW1lX2VuYykgLSA1LAogCQkJCQkic3BlbGwvJXMuJXMuc3BsIiwgbGFuZywgc3BlbGxfZW5jKCkpOwotICAgIHIgPSBkb19pbl9ydW50aW1lcGF0aChmbmFtZV9lbmMsIEZBTFNFLCBzcGVsbF9sb2FkX2NiLCAmbGFuZ2NwKTsKKyAgICByID0gZG9faW5fcnVudGltZXBhdGgoZm5hbWVfZW5jLCBGQUxTRSwgc3BlbGxfbG9hZF9jYiwgJnNsKTsKIAotICAgIGlmIChyID09IEZBSUwgJiYgKmxhbmdjcCAhPSBOVUwpCisgICAgaWYgKHIgPT0gRkFJTCAmJiAqc2wuc2xfbGFuZyAhPSBOVUwpCiAgICAgewogCS8qIFRyeSBsb2FkaW5nIHRoZSBBU0NJSSB2ZXJzaW9uLiAqLwogCXZpbV9zbnByaW50ZigoY2hhciAqKWZuYW1lX2VuYywgc2l6ZW9mKGZuYW1lX2VuYykgLSA1LAogCQkJCQkJICAic3BlbGwvJXMuYXNjaWkuc3BsIiwgbGFuZyk7Ci0JciA9IGRvX2luX3J1bnRpbWVwYXRoKGZuYW1lX2VuYywgRkFMU0UsIHNwZWxsX2xvYWRfY2IsICZsYW5nY3ApOworCXIgPSBkb19pbl9ydW50aW1lcGF0aChmbmFtZV9lbmMsIEZBTFNFLCBzcGVsbF9sb2FkX2NiLCAmc2wpOwogICAgIH0KIAogICAgIGlmIChyID09IEZBSUwpCiAJc21zZygoY2hhcl91ICopXygiV2FybmluZzogQ2Fubm90IGZpbmQgd29yZCBsaXN0IFwiJXMuJXMuc3BsXCIgb3IgXCIlcy5hc2NpaS5zcGxcIiIpLAogCQkJCQkJICAgICBsYW5nLCBzcGVsbF9lbmMoKSwgbGFuZyk7Ci0gICAgZWxzZSBpZiAoKmxhbmdjcCAhPSBOVUwpCisgICAgZWxzZSBpZiAoc2wuc2xfc2xhbmcgIT0gTlVMTCkKICAgICB7Ci0JLyogTG9hZCBhbGwgdGhlIGFkZGl0aW9ucy4gKi8KKwkvKiBBdCBsZWFzdCBvbmUgZmlsZSB3YXMgbG9hZGVkLCBub3cgbG9hZCBhbGwgdGhlIGFkZGl0aW9ucy4gKi8KIAlTVFJDUFkoZm5hbWVfZW5jICsgU1RSTEVOKGZuYW1lX2VuYykgLSAzLCAiYWRkLnNwbCIpOwotCWRvX2luX3J1bnRpbWVwYXRoKGZuYW1lX2VuYywgVFJVRSwgc3BlbGxfbG9hZF9jYiwgJmxhbmdjcCk7CisJZG9faW5fcnVudGltZXBhdGgoZm5hbWVfZW5jLCBUUlVFLCBzcGVsbF9sb2FkX2NiLCAmc2wpOwogICAgIH0KIH0KIApAQCAtMjEyMiw3ICsyMTUxLDYgQEAKIAlscC0+c2xfbmFtZSA9IHZpbV9zdHJzYXZlKGxhbmcpOwogCWdhX2luaXQyKCZscC0+c2xfcmVwLCBzaXplb2YoZnJvbXRvX1QpLCAxMCk7CiAJbHAtPnNsX2NvbXBtYXggPSBNQVhXTEVOOwotCWxwLT5zbF9jb21wbWlubGVuID0gTUFYV0xFTjsKIAlscC0+c2xfY29tcHN5bG1heCA9IE1BWFdMRU47CiAgICAgfQogICAgIHJldHVybiBscDsKQEAgLTIyMzcsNyArMjI2NSw3IEBACiAjZW5kaWYKIAogICAgIGxwLT5zbF9jb21wbWF4ID0gTUFYV0xFTjsKLSAgICBscC0+c2xfY29tcG1pbmxlbiA9IE1BWFdMRU47CisgICAgbHAtPnNsX2NvbXBtaW5sZW4gPSAwOwogICAgIGxwLT5zbF9jb21wc3lsbWF4ID0gTUFYV0xFTjsKICAgICBscC0+c2xfcmVnaW9uc1swXSA9IE5VTDsKIH0KQEAgLTIyNDksOSArMjI3NywyMyBAQAogICAgIHN0YXRpYyB2b2lkCiBzcGVsbF9sb2FkX2NiKGZuYW1lLCBjb29raWUpCiAgICAgY2hhcl91CSpmbmFtZTsKLSAgICB2b2lkCSpjb29raWU7CSAgICAvKiBwb2ludHMgdG8gdGhlIGxhbmd1YWdlIG5hbWUgKi8KKyAgICB2b2lkCSpjb29raWU7CiB7Ci0gICAgKHZvaWQpc3BlbGxfbG9hZF9maWxlKGZuYW1lLCAoY2hhcl91ICopY29va2llLCBOVUxMLCBGQUxTRSk7CisgICAgc3BlbGxvYWRfVAkqc2xwID0gKHNwZWxsb2FkX1QgKiljb29raWU7CisgICAgc2xhbmdfVAkqc2xhbmc7CisKKyAgICBzbGFuZyA9IHNwZWxsX2xvYWRfZmlsZShmbmFtZSwgc2xwLT5zbF9sYW5nLCBOVUxMLCBGQUxTRSk7CisgICAgaWYgKHNsYW5nICE9IE5VTEwpCisgICAgeworCS8qIFdoZW4gYSBwcmV2aW91c2x5IGxvYWRlZCBmaWxlIGhhcyBOT0JSRUFLIGFsc28gdXNlIGl0IGZvciB0aGUKKwkgKiAiLmFkZCIgZmlsZXMuICovCisJaWYgKHNscC0+c2xfbm9icmVhayAmJiBzbGFuZy0+c2xfYWRkKQorCSAgICBzbGFuZy0+c2xfbm9icmVhayA9IFRSVUU7CisJZWxzZSBpZiAoc2xhbmctPnNsX25vYnJlYWspCisJICAgIHNscC0+c2xfbm9icmVhayA9IFRSVUU7CisKKwlzbHAtPnNsX3NsYW5nID0gc2xhbmc7CisgICAgfQogfQogCiAvKgpAQCAtMjk0MSw3ICsyOTgzLDcgQEAKICAgICAtLXRvZG87CiAgICAgYyA9IGdldGMoZmQpOwkJCQkJLyogPGNvbXBtaW5sZW4+ICovCiAgICAgaWYgKGMgPCAxKQotCWMgPSBNQVhXTEVOOworCWMgPSAwOwogICAgIHNsYW5nLT5zbF9jb21wbWlubGVuID0gYzsKIAogICAgIC0tdG9kbzsKQEAgLTM1MDgsNiArMzU1MCw3IEBACiAgICAgY2hhcl91CSpzcGY7CiAgICAgY2hhcl91CSp1c2VfcmVnaW9uID0gTlVMTDsKICAgICBpbnQJCWRvbnRfdXNlX3JlZ2lvbiA9IEZBTFNFOworICAgIGludAkJbm9icmVhayA9IEZBTFNFOwogCiAgICAgZ2FfaW5pdDIoJmdhLCBzaXplb2YobGFuZ3BfVCksIDIpOwogICAgIGNsZWFyX21pZHdvcmQoYnVmKTsKQEAgLTM2MjQsNiArMzY2Nyw4IEBACiAJCSAgICBMQU5HUF9FTlRSWShnYSwgZ2EuZ2FfbGVuKS0+bHBfcmVnaW9uID0gcmVnaW9uX21hc2s7CiAJCSAgICArK2dhLmdhX2xlbjsKIAkJICAgIHVzZV9taWR3b3JkKGxwLCBidWYpOworCQkgICAgaWYgKGxwLT5zbF9ub2JyZWFrKQorCQkJbm9icmVhayA9IFRSVUU7CiAJCX0KIAkgICAgfQogICAgIH0KQEAgLTM2NzgsNiArMzcyMywxMSBAQAogCQkgICAgKnAgPSBOVUw7CS8qIHRydW5jYXRlIGF0ICIuZW5jb2RpbmcuYWRkIiAqLwogCSAgICB9CiAJICAgIGxwID0gc3BlbGxfbG9hZF9maWxlKHNwZl9uYW1lLCBsYW5nLCBOVUxMLCBUUlVFKTsKKworCSAgICAvKiBJZiBvbmUgb2YgdGhlIGxhbmd1YWdlcyBoYXMgTk9CUkVBSyB3ZSBhc3N1bWUgdGhlIGFkZGl0aW9uCisJICAgICAqIGZpbGVzIGFsc28gaGF2ZSB0aGlzLiAqLworCSAgICBpZiAobHAgIT0gTlVMTCAmJiBub2JyZWFrKQorCQlscC0+c2xfbm9icmVhayA9IFRSVUU7CiAJfQogCWlmIChscCAhPSBOVUxMICYmIGdhX2dyb3coJmdhLCAxKSA9PSBPSykKIAl7CkBAIC01MjI5LDggKzUyNzksNiBAQAogCVNUUkNQWShwLCBzcGluLT5zaV9jb21wZmxhZ3MpOwogCVNUUkNBVChwLCAiLyIpOwogICAgIH0KLSAgICBlbHNlCi0JKnAgPSBOVUw7CiAgICAgc3Bpbi0+c2lfY29tcGZsYWdzID0gcDsKICAgICB0cCA9IHAgKyBTVFJMRU4ocCk7CiAKQEAgLTc3MDMsMzcgKzc3NTEsNTUgQEAKICAgICBjaGFyX3UJKmZuYW1lOwogICAgIGNoYXJfdQkqcnRwOwogICAgIGNoYXJfdQkqbGVuZDsKKyAgICBpbnQJCWFzcGF0aCA9IEZBTFNFOworICAgIGNoYXJfdQkqbHN0YXJ0ID0gY3VyYnVmLT5iX3Bfc3BsOwogCiAgICAgaWYgKCpjdXJidWYtPmJfcF9zcGwgIT0gTlVMICYmIGN1cmJ1Zi0+Yl9sYW5ncC5nYV9sZW4gPiAwKQogICAgIHsKLQkvKiBGaW5kIHRoZSBlbmQgb2YgdGhlIGxhbmd1YWdlIG5hbWUuICBFeGNsdWRlIHRoZSByZWdpb24uICovCisJLyogRmluZCB0aGUgZW5kIG9mIHRoZSBsYW5ndWFnZSBuYW1lLiAgRXhjbHVkZSB0aGUgcmVnaW9uLiAgSWYgdGhlcmUKKwkgKiBpcyBhIHBhdGggc2VwYXJhdG9yIHJlbWVtYmVyIHRoZSBzdGFydCBvZiB0aGUgdGFpbC4gKi8KIAlmb3IgKGxlbmQgPSBjdXJidWYtPmJfcF9zcGw7ICpsZW5kICE9IE5VTAogCQkJJiYgdmltX3N0cmNocigoY2hhcl91ICopIiwuXyIsICpsZW5kKSA9PSBOVUxMOyArK2xlbmQpCi0JICAgIDsKKwkgICAgaWYgKHZpbV9pc3BhdGhzZXAoKmxlbmQpKQorCSAgICB7CisJCWFzcGF0aCA9IFRSVUU7CisJCWxzdGFydCA9IGxlbmQgKyAxOworCSAgICB9CiAKIAkvKiBMb29wIG92ZXIgYWxsIGVudHJpZXMgaW4gJ3J1bnRpbWVwYXRoJy4gIFVzZSB0aGUgZmlyc3Qgb25lIHdoZXJlIHdlCiAJICogYXJlIGFsbG93ZWQgdG8gd3JpdGUuICovCiAJcnRwID0gcF9ydHA7CiAJd2hpbGUgKCpydHAgIT0gTlVMKQogCXsKLQkgICAgLyogQ29weSB0aGUgcGF0aCBmcm9tICdydW50aW1lcGF0aCcgdG8gYnVmW10uICovCi0JICAgIGNvcHlfb3B0aW9uX3BhcnQoJnJ0cCwgYnVmLCBNQVhQQVRITCwgIiwiKTsKKwkgICAgaWYgKGFzcGF0aCkKKwkJLyogVXNlIGRpcmVjdG9yeSBvZiBhbiBlbnRyeSB3aXRoIHBhdGgsIGUuZy4sIGZvcgorCQkgKiAiL2Rpci9sZy51dGYtOC5zcGwiIHVzZSAiL2RpciIuICovCisJCXZpbV9zdHJuY3B5KGJ1ZiwgY3VyYnVmLT5iX3Bfc3BsLCBsc3RhcnQgLSBjdXJidWYtPmJfcF9zcGwgLSAxKTsKKwkgICAgZWxzZQorCQkvKiBDb3B5IHRoZSBwYXRoIGZyb20gJ3J1bnRpbWVwYXRoJyB0byBidWZbXS4gKi8KKwkJY29weV9vcHRpb25fcGFydCgmcnRwLCBidWYsIE1BWFBBVEhMLCAiLCIpOwogCSAgICBpZiAoZmlsZXdyaXRhYmxlKGJ1ZikgPT0gMikKIAkgICAgewogCQkvKiBVc2UgdGhlIGZpcnN0IGxhbmd1YWdlIG5hbWUgZnJvbSAnc3BlbGxsYW5nJyBhbmQgdGhlCiAJCSAqIGVuY29kaW5nIHVzZWQgaW4gdGhlIGZpcnN0IGxvYWRlZCAuc3BsIGZpbGUuICovCi0JCWZuYW1lID0gTEFOR1BfRU5UUlkoY3VyYnVmLT5iX2xhbmdwLCAwKS0+bHBfc2xhbmctPnNsX2ZuYW1lOwotCQlpZiAoZm5hbWUgPT0gTlVMTCkKLQkJICAgIGJyZWFrOworCQlpZiAoYXNwYXRoKQorCQkgICAgdmltX3N0cm5jcHkoYnVmLCBjdXJidWYtPmJfcF9zcGwsIGxlbmQgLSBjdXJidWYtPmJfcF9zcGwpOworCQllbHNlCisJCXsKKwkJICAgIGwgPSBTVFJMRU4oYnVmKTsKKwkJICAgIHZpbV9zbnByaW50ZigoY2hhciAqKWJ1ZiArIGwsIE1BWFBBVEhMIC0gbCwKKwkJCQkgIi9zcGVsbC8lLipzIiwgKGludCkobGVuZCAtIGxzdGFydCksIGxzdGFydCk7CisJCX0KIAkJbCA9IFNUUkxFTihidWYpOwotCQl2aW1fc25wcmludGYoKGNoYXIgKilidWYgKyBsLCBNQVhQQVRITCAtIGwsCi0JCQkiL3NwZWxsLyUuKnMuJXMuYWRkIiwKLQkJCShpbnQpKGxlbmQgLSBjdXJidWYtPmJfcF9zcGwpLCBjdXJidWYtPmJfcF9zcGwsCi0JCQlzdHJzdHIoKGNoYXIgKilnZXR0YWlsKGZuYW1lKSwgIi5hc2NpaS4iKSAhPSBOVUxMCi0JCQkJCSAgID8gKGNoYXJfdSAqKSJhc2NpaSIgOiBzcGVsbF9lbmMoKSk7CisJCWZuYW1lID0gTEFOR1BfRU5UUlkoY3VyYnVmLT5iX2xhbmdwLCAwKS0+bHBfc2xhbmctPnNsX2ZuYW1lOworCQl2aW1fc25wcmludGYoKGNoYXIgKilidWYgKyBsLCBNQVhQQVRITCAtIGwsICIuJXMuYWRkIiwKKwkJCWZuYW1lICE9IE5VTEwKKwkJCSAgJiYgc3Ryc3RyKChjaGFyICopZ2V0dGFpbChmbmFtZSksICIuYXNjaWkuIikgIT0gTlVMTAorCQkJCSAgICAgICA/IChjaGFyX3UgKikiYXNjaWkiIDogc3BlbGxfZW5jKCkpOwogCQlzZXRfb3B0aW9uX3ZhbHVlKChjaGFyX3UgKikic3BlbGxmaWxlIiwgMEwsIGJ1ZiwgT1BUX0xPQ0FMKTsKIAkJYnJlYWs7CiAJICAgIH0KKwkgICAgYXNwYXRoID0gRkFMU0U7CiAJfQogICAgIH0KIH0KQEAgLTkyOTMsNyArOTM1OSw3IEBACiAJCQkvKiBGb3IgbXVsdGktYnl0ZSBjaGFycyBjaGVjayBjaGFyYWN0ZXIgbGVuZ3RoIGFnYWluc3QKIAkJCSAqIENPTVBPVU5ETUlOLiAqLwogCQkJaWYgKGhhc19tYnl0ZQotCQkJCSYmIHNsYW5nLT5zbF9jb21wbWlubGVuIDwgTUFYV0xFTgorCQkJCSYmIHNsYW5nLT5zbF9jb21wbWlubGVuID4gMAogCQkJCSYmIG1iX2NoYXJsZW4odHdvcmQgKyBzcC0+dHNfc3BsaXRvZmYpCiAJCQkJCQkgICAgICAgPCBzbGFuZy0+c2xfY29tcG1pbmxlbikKIAkJCSAgICBicmVhazsKQEAgLTk0MzAsNyArOTQ5Niw3IEBACiAJCQkJCQkgICAgICA+PSBzbGFuZy0+c2xfY29tcG1pbmxlbgogI2lmZGVmIEZFQVRfTUJZVEUKIAkJCSAgICAmJiAoIWhhc19tYnl0ZQotCQkJCXx8IHNsYW5nLT5zbF9jb21wbWlubGVuID09IE1BWFdMRU4KKwkJCQl8fCBzbGFuZy0+c2xfY29tcG1pbmxlbiA9PSAwCiAJCQkJfHwgbWJfY2hhcmxlbih0d29yZCArIHNwLT50c19zcGxpdG9mZikKIAkJCQkJCSAgICAgID49IHNsYW5nLT5zbF9jb21wbWlubGVuKQogI2VuZGlmCkBAIC05NDcwLDcgKzk1MzYsMTIgQEAKIAkJICAgIGlmICghdHJ5X2NvbXBvdW5kICYmICFmd29yZF9lbmRzKQogCQkgICAgewogCQkJLyogSWYgd2UncmUgZ29pbmcgdG8gc3BsaXQgbmVlZCB0byBjaGVjayB0aGF0IHRoZQotCQkJICogd29yZHMgc28gZmFyIGFyZSB2YWxpZCBmb3IgY29tcG91bmRpbmcuICovCisJCQkgKiB3b3JkcyBzbyBmYXIgYXJlIHZhbGlkIGZvciBjb21wb3VuZGluZy4gIElmIHRoZXJlCisJCQkgKiBpcyBvbmx5IG9uZSB3b3JkIGl0IG11c3Qgbm90IGhhdmUgdGhlIE5FRURDT01QT1VORAorCQkJICogZmxhZy4gKi8KKwkJCWlmIChzcC0+dHNfY29tcGxlbiA9PSBzcC0+dHNfY29tcHNwbGl0CisJCQkJCQkgICAgICYmIChmbGFncyAmIFdGX05FRURDT01QKSkKKwkJCSAgICBicmVhazsKIAkJCXAgPSBwcmV3b3JkOwogCQkJd2hpbGUgKCpza2lwdG93aGl0ZShwKSAhPSBOVUwpCiAJCQkgICAgcCA9IHNraXB3aGl0ZShza2lwdG93aGl0ZShwKSk7CkBAIC05NTc2LDcgKzk2NDcsMTEgQEAKIAkgICAgY2FzZSBTVEFURV9FTkROVUw6CiAJCS8qIFBhc3QgdGhlIE5VTCBieXRlcyBpbiB0aGUgbm9kZS4gKi8KIAkJc3UtPnN1X2JhZGZsYWdzID0gc3AtPnRzX3NhdmVfYmFkZmxhZ3M7Ci0JCWlmIChmd29yZFtzcC0+dHNfZmlkeF0gPT0gTlVMKQorCQlpZiAoZndvcmRbc3AtPnRzX2ZpZHhdID09IE5VTAorI2lmZGVmIEZFQVRfTUJZVEUKKwkJCSYmIHNwLT50c190Y2hhcmxlbiA9PSAwCisjZW5kaWYKKwkJICAgKQogCQl7CiAJCSAgICAvKiBUaGUgYmFkd29yZCBlbmRzLCBjYW4ndCB1c2UgdGhlIGJ5dGVzIGluIHRoaXMgbm9kZS4gKi8KIAkJICAgIHNwLT50c19zdGF0ZSA9IFNUQVRFX0RFTDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3Q1OC5pbiBiL3NyYy90ZXN0ZGlyL3Rlc3Q1OC5pbgppbmRleCA4YmI1OGJmLi5iMzkwMmYxIDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci90ZXN0NTguaW4KKysrIGIvc3JjL3Rlc3RkaXIvdGVzdDU4LmluCkBAIC05Myw2ICs5Myw5IEBACiA6IiBDb21wb3VuZCB3b3JkcwogOmNhbGwgVGVzdE9uZSgnMycsICczJykKIDpjYWxsIFRlc3RPbmUoJzQnLCAnNCcpCis6Y2FsbCBUZXN0T25lKCc1JywgJzUnKQorOmNhbGwgVGVzdE9uZSgnNicsICc2JykKKzpjYWxsIFRlc3RPbmUoJzcnLCAnNycpCiA6IgogZ2c6L150ZXN0IG91dHB1dDovLCR3cSEgdGVzdC5vdXQKIEVORFRFU1QKQEAgLTQ3NCw0ICs0NzcsMTIzIEBACiAgCXN0YXJ0d29yZHdvcmR3b3Jkd29yZGVuZCBib3JrcHJlYm9ya3ByZWJvcmtib3JrCiBiYWRlbmQKIAorVGVzdCBhZmZpeCBmbGFncyB3aXRoIHR3byBjaGFyYWN0ZXJzCisKKzVhZmZzdGFydAorU0VUIElTTzg4NTktMQorCitGTEFHIGxvbmcKKworTkVFREFGRklYICEhCisKK0NPTVBPVU5ERkxBR1Mgc3NtbSplZQorCitORUVEQ09NUE9VTkQgeHgKKworU0ZYIDEzIFkgMQorU0ZYIDEzIDAgYm9yayAuCisKK1NGWCBhMSBZIDEKK1NGWCBhMSAwIGExIC4KKworU0ZYIGHpIFkgMQorU0ZYIGHpIDAgYekgLgorCitQRlggenogWSAxCitQRlggenogMCBwcmUgLgorNWFmZmVuZAorCis1ZGljc3RhcnQKKzEyMzQKK2Zvby9hMWHpISEKK2Jhci96ejEzZWUKK3N0YXJ0L3NzCitlbmQvZWUKK21pZGRsZS9tbXh4Cis1ZGljZW5kCisKKzVnb29kOiBmb29hMSBmb29h6SBiYXIgcHJlYmFyIGJhcmJvcmsgcHJlYmFyYm9yayAgc3RhcnRwcmViYXIKKyAgICAgIHN0YXJ0IGVuZCBzdGFydGVuZCAgc3RhcnRtaWRkbGVlbmQKK2JhZDogZm9vIGZvb2EyIHByYWJhciBwcm9iYXJiaXJrIG1pZGRsZSBzdGFydG1pZGRsZSBtaWRkbGVlbmQgZW5kc3RhcnQKKwlzdGFydHByb2JhcgorYmFkZW5kCisKKzZhZmZzdGFydAorU0VUIElTTzg4NTktMQorCitGTEFHIGNhcGxvbmcKKworTkVFREFGRklYIEEhCisKK0NPTVBPVU5ERkxBR1Mgc01tKkVlCisKK05FRURDT01QT1VORCBYeAorCitTRlggTjMgWSAxCitTRlggTjMgMCBib3JrIC4KKworU0ZYIEExIFkgMQorU0ZYIEExIDAgYTEgLgorCitTRlggQekgWSAxCitTRlggQekgMCBh6SAuCisKK1BGWCBaeiBZIDEKK1BGWCBaeiAwIHByZSAuCis2YWZmZW5kCisKKzZkaWNzdGFydAorMTIzNAorbWVlL0ExQelBIQorYmFyL1p6TjNFZQorbGVhZC9zCitlbmQvRWUKK21pZGRsZS9NbVh4Cis2ZGljZW5kCisKKzZnb29kOiBtZWVhMSBtZWVh6SBiYXIgcHJlYmFyIGJhcmJvcmsgcHJlYmFyYm9yayAgbGVhZHByZWJhcgorICAgICAgbGVhZCBlbmQgbGVhZGVuZCAgbGVhZG1pZGRsZWVuZAorYmFkOiBtZWUgbWVlYTIgcHJhYmFyIHByb2JhcmJpcmsgbWlkZGxlIGxlYWRtaWRkbGUgbWlkZGxlZW5kIGVuZGxlYWQKKwlsZWFkcHJvYmFyCitiYWRlbmQKKworN2FmZnN0YXJ0CitTRVQgSVNPODg1OS0xCisKK0ZMQUcgbnVtCisKK05FRURBRkZJWCA5OTk5CisKK0NPTVBPVU5ERkxBR1MgMiw3NyoxMjMKKworTkVFRENPTVBPVU5EIDEKKworU0ZYIDYxMDAzIFkgMQorU0ZYIDYxMDAzIDAgbWVhdCAuCisKK1NGWCAzOTEgWSAxCitTRlggMzkxIDAgYTEgLgorCitTRlggMTExIFkgMQorU0ZYIDExMSAwIGHpIC4KKworUEZYIDE3IFkgMQorUEZYIDE3IDAgcHJlIC4KKzdhZmZlbmQKKworN2RpY3N0YXJ0CisxMjM0CittZWUvMzkxLDExMSw5OTk5CitiYXIvMTcsNjEwMDMsMTIzCitsZWFkLzIKK3RhaWwvMTIzCittaWRkbGUvNzcsMQorN2RpY2VuZAorCis3Z29vZDogbWVlYTEgbWVlYekgYmFyIHByZWJhciBiYXJtZWF0IHByZWJhcm1lYXQgIGxlYWRwcmViYXIKKyAgICAgIGxlYWQgdGFpbCBsZWFkdGFpbCAgbGVhZG1pZGRsZXRhaWwKK2JhZDogbWVlIG1lZWEyIHByYWJhciBwcm9iYXJtYWF0IG1pZGRsZSBsZWFkbWlkZGxlIG1pZGRsZXRhaWwgdGFpbGxlYWQKKwlsZWFkcHJvYmFyCitiYWRlbmQKKwogdGVzdCBvdXRwdXQ6CmRpZmYgLS1naXQgYS9zcmMvdGVzdGRpci90ZXN0NTgub2sgYi9zcmMvdGVzdGRpci90ZXN0NTgub2sKaW5kZXggNjdmMWY5Yy4uOWZiYTZiYyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3RkaXIvdGVzdDU4Lm9rCisrKyBiL3NyYy90ZXN0ZGlyL3Rlc3Q1OC5vawpAQCAtMTA1LDE5ICsxMDUsMTkgQEAKIGZvb23vCiBbJ2ZvbyBt7ycsICdmb28nLCAnZm9vZm9vJ10KIGJhcm3vCi1bJ2JhciBt7ycsICdiYXJmb28nLCAnYmFyYmFyJ10KK1snYmFyZm9vJywgJ2JhcmJhcicsICdt7yddCiBt72ZvbwogWydt7yBmb28nLCAnZm9vJywgJ2Zvb2ZvbyddCiBt72JhcgogWydmb29iYXInLCAnYmFyYmFyJywgJ23vJ10KIG3vbe8KLVsnbe8gbe8nLCAnbe8nLCAnbGEgbe8nXQorWydt7yBt7ycsICdt7yddCiBsYWxhCi1bJ2xhIG3vJ10KK1tdCiBt72xhCiBbJ23vJywgJ23vIG3vJ10KIGxhbe8KLVsnbGEgbe8nLCAnbe8nLCAnbe8gbe8nXQorWydt7ycsICdt7yBt7yddCiBmb29sYQogWydmb28nLCAnZm9vYmFyJywgJ2Zvb2ZvbyddCiBsYWJhcgpAQCAtMTYwLDMgKzE2MCw5OSBAQAogWydzdGFydHdvcmR3b3Jkd29yZHdvcmQgZW5kJywgJ3N0YXJ0d29yZHdvcmR3b3Jkd29yZCcsICdzdGFydCB3b3Jkd29yZHdvcmR3b3JkIGVuZCddCiBib3JrcHJlYm9ya3ByZWJvcmtib3JrCiBbJ2JvcmtwcmVib3JrcHJlYm9yayBib3JrJywgJ2JvcmtwcmVib3JrIHByZWJvcmtib3JrJywgJ2JvcmsgcHJlYm9ya3ByZWJvcmtib3JrJ10KKwordGVzdCA1LTUKKyMgZmlsZTogWHRlc3QubGF0aW4xLnNwbAorYmFyCitiYXJib3JrCitlbmQKK2Zvb2ExCitmb29h6QorcHJlYmFyCitwcmViYXJib3JrCitzdGFydAorLS0tLS0tLQorYmFkCitbJ2JhcicsICdlbmQnLCAnZm9vYTEnXQorZm9vCitbJ2Zvb2ExJywgJ2Zvb2HpJywgJ2JhciddCitmb29hMgorWydmb29hMScsICdmb29h6ScsICdiYXInXQorcHJhYmFyCitbJ3ByZWJhcicsICdiYXInLCAnYmFyIGJhciddCitwcm9iYXJiaXJrCitbJ3ByZWJhcmJvcmsnXQorbWlkZGxlCitbXQorc3RhcnRtaWRkbGUKK1snc3RhcnRtaWRkbGVlbmQnXQorbWlkZGxlZW5kCitbXQorZW5kc3RhcnQKK1snZW5kIHN0YXJ0JywgJ3N0YXJ0J10KK3N0YXJ0cHJvYmFyCitbJ3N0YXJ0cHJlYmFyJywgJ3N0YXJ0IHByZWJhcicsICdzdGFydGJhciddCisKK3Rlc3QgNi02CisjIGZpbGU6IFh0ZXN0LmxhdGluMS5zcGwKK2JhcgorYmFyYm9yaworZW5kCitsZWFkCittZWVhMQorbWVlYekKK3ByZWJhcgorcHJlYmFyYm9yaworLS0tLS0tLQorYmFkCitbJ2JhcicsICdlbmQnLCAnbGVhZCddCittZWUKK1snbWVlYTEnLCAnbWVlYeknLCAnYmFyJ10KK21lZWEyCitbJ21lZWExJywgJ21lZWHpJywgJ2xlYWQnXQorcHJhYmFyCitbJ3ByZWJhcicsICdsZWFkYmFyJywgJ2JhciddCitwcm9iYXJiaXJrCitbJ3ByZWJhcmJvcmsnXQorbWlkZGxlCitbXQorbGVhZG1pZGRsZQorWydsZWFkbWlkZGxlZW5kJ10KK21pZGRsZWVuZAorW10KK2VuZGxlYWQKK1snZW5kIGxlYWQnLCAnbGVhZCcsICdlbmQgZW5kJ10KK2xlYWRwcm9iYXIKK1snbGVhZHByZWJhcicsICdsZWFkIHByZWJhcicsICdsZWFkYmFyJ10KKwordGVzdCA3LTcKKyMgZmlsZTogWHRlc3QubGF0aW4xLnNwbAorYmFyCitiYXJtZWF0CitsZWFkCittZWVhMQorbWVlYekKK3ByZWJhcgorcHJlYmFybWVhdAordGFpbAorLS0tLS0tLQorYmFkCitbJ2JhcicsICdsZWFkJywgJ3RhaWwnXQorbWVlCitbJ21lZWExJywgJ21lZWHpJywgJ2JhciddCittZWVhMgorWydtZWVhMScsICdtZWVh6ScsICdsZWFkJ10KK3ByYWJhcgorWydwcmViYXInLCAnbGVhZGJhcicsICdiYXInXQorcHJvYmFybWFhdAorWydwcmViYXJtZWF0J10KK21pZGRsZQorW10KK2xlYWRtaWRkbGUKK1tdCittaWRkbGV0YWlsCitbXQordGFpbGxlYWQKK1sndGFpbCBsZWFkJywgJ3RhaWwnXQorbGVhZHByb2JhcgorWydsZWFkcHJlYmFyJywgJ2xlYWQgcHJlYmFyJywgJ2xlYWRiYXInXQpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3RkaXIvdGVzdDU5LmluIGIvc3JjL3Rlc3RkaXIvdGVzdDU5LmluCmluZGV4IGFhYjQ4YWUuLmEyZGNjODkgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0ZGlyL3Rlc3Q1OS5pbgorKysgYi9zcmMvdGVzdGRpci90ZXN0NTkuaW4KQEAgLTk3LDYgKzk3LDkgQEAKIDoiIENvbXBvdW5kIHdvcmRzCiA6Y2FsbCBUZXN0T25lKCczJywgJzMnKQogOmNhbGwgVGVzdE9uZSgnNCcsICc0JykKKzpjYWxsIFRlc3RPbmUoJzUnLCAnNScpCis6Y2FsbCBUZXN0T25lKCc2JywgJzYnKQorOmNhbGwgVGVzdE9uZSgnNycsICc3JykKIDoiCiBnZzovXnRlc3Qgb3V0cHV0Oi8sJHdxISB0ZXN0Lm91dAogRU5EVEVTVApAQCAtNDc4LDQgKzQ4MSwxMjcgQEAKIHRlc3QyOgogZWxlcXVpbnQgdGVzdCBlbGVrd2ludCB0ZXN0IGVsZWt3ZW50IGFzZGYKIAorVGVzdCBhZmZpeCBmbGFncyB3aXRoIHR3byBjaGFyYWN0ZXJzCisKKzVhZmZzdGFydAorU0VUIElTTzg4NTktMQorCitGTEFHIGxvbmcKKworTkVFREFGRklYICEhCisKK0NPTVBPVU5ERkxBR1Mgc3NtbSplZQorCitORUVEQ09NUE9VTkQgeHgKKworU0ZYIDEzIFkgMQorU0ZYIDEzIDAgYm9yayAuCisKK1NGWCBhMSBZIDEKK1NGWCBhMSAwIGExIC4KKworU0ZYIGHpIFkgMQorU0ZYIGHpIDAgYekgLgorCitQRlggenogWSAxCitQRlggenogMCBwcmUgLgorNWFmZmVuZAorCis1ZGljc3RhcnQKKzEyMzQKK2Zvby9hMWHpISEKK2Jhci96ejEzZWUKK3N0YXJ0L3NzCitlbmQvZWUKK21pZGRsZS9tbXh4Cis1ZGljZW5kCisKKzVnb29kOiBmb29hMSBmb29hw6kgYmFyIHByZWJhciBiYXJib3JrIHByZWJhcmJvcmsgIHN0YXJ0cHJlYmFyCisgICAgICBzdGFydCBlbmQgc3RhcnRlbmQgIHN0YXJ0bWlkZGxlZW5kCitiYWQ6IGZvbyBmb29hMiBwcmFiYXIgcHJvYmFyYmlyayBtaWRkbGUgc3RhcnRtaWRkbGUgbWlkZGxlZW5kIGVuZHN0YXJ0CisJc3RhcnRwcm9iYXIKK2JhZGVuZAorCis2YWZmc3RhcnQKK1NFVCBJU084ODU5LTEKKworRkxBRyBjYXBsb25nCisKK05FRURBRkZJWCBBIQorCitDT01QT1VOREZMQUdTIHNNbSpFZQorCitORUVEQ09NUE9VTkQgWHgKKworU0ZYIE4zIFkgMQorU0ZYIE4zIDAgYm9yayAuCisKK1NGWCBBMSBZIDEKK1NGWCBBMSAwIGExIC4KKworU0ZYIEHpIFkgMQorU0ZYIEHpIDAgYekgLgorCitQRlggWnogWSAxCitQRlggWnogMCBwcmUgLgorNmFmZmVuZAorCis2ZGljc3RhcnQKKzEyMzQKK21lZS9BMUHpQSEKK2Jhci9aek4zRWUKK2xlYWQvcworZW5kL0VlCittaWRkbGUvTW1YeAorNmRpY2VuZAorCis2Z29vZDogbWVlYTEgbWVlYcOpIGJhciBwcmViYXIgYmFyYm9yayBwcmViYXJib3JrICBsZWFkcHJlYmFyCisgICAgICBsZWFkIGVuZCBsZWFkZW5kICBsZWFkbWlkZGxlZW5kCitiYWQ6IG1lZSBtZWVhMiBwcmFiYXIgcHJvYmFyYmlyayBtaWRkbGUgbGVhZG1pZGRsZSBtaWRkbGVlbmQgZW5kbGVhZAorCWxlYWRwcm9iYXIKK2JhZGVuZAorCis3YWZmc3RhcnQKK1NFVCBJU084ODU5LTEKKworRk9MICDg4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7f/worTE9XICDg4eLj5OXm5+jp6uvs7e7v8PHy8/T19vj5+vv8/f7f/worVVBQICDAwcLDxMXGx8jJysvMzc7P0NHS09TV1tjZ2tvc3d7f/worCitGTEFHIG51bQorCitORUVEQUZGSVggOTk5OQorCitDT01QT1VOREZMQUdTIDIsNzcqMTIzCisKK05FRURDT01QT1VORCAxCisKK1NGWCA2MTAwMyBZIDEKK1NGWCA2MTAwMyAwIG1lYXQgLgorCitTRlggMzkxIFkgMQorU0ZYIDM5MSAwIGExIC4KKworU0ZYIDExMSBZIDEKK1NGWCAxMTEgMCBh6SAuCisKK1BGWCAxNyBZIDEKK1BGWCAxNyAwIHByZSAuCis3YWZmZW5kCisKKzdkaWNzdGFydAorMTIzNAorbWVlLzM5MSwxMTEsOTk5OQorYmFyLzE3LDYxMDAzLDEyMworbGVhZC8yCit0YWlsLzEyMworbWlkZGxlLzc3LDEKKzdkaWNlbmQKKworN2dvb2Q6IG1lZWExIG1lZWHDqSBiYXIgcHJlYmFyIGJhcm1lYXQgcHJlYmFybWVhdCAgbGVhZHByZWJhcgorICAgICAgbGVhZCB0YWlsIGxlYWR0YWlsICBsZWFkbWlkZGxldGFpbAorYmFkOiBtZWUgbWVlYTIgcHJhYmFyIHByb2Jhcm1hYXQgbWlkZGxlIGxlYWRtaWRkbGUgbWlkZGxldGFpbCB0YWlsbGVhZAorCWxlYWRwcm9iYXIKK2JhZGVuZAorCiB0ZXN0IG91dHB1dDoKZGlmZiAtLWdpdCBhL3NyYy90ZXN0ZGlyL3Rlc3Q1OS5vayBiL3NyYy90ZXN0ZGlyL3Rlc3Q1OS5vawppbmRleCBlMDllYWFjLi5jMzdlY2I4IDEwMDY0NAotLS0gYS9zcmMvdGVzdGRpci90ZXN0NTkub2sKKysrIGIvc3JjL3Rlc3RkaXIvdGVzdDU5Lm9rCkBAIC0xMDEsMjMgKzEwMSwyMyBAQAogYmFyCiBbJ2Zvb2JhcicsICdmb28nLCAnbcOvJ10KIGxhCi1bJ2ZvbycsICdtw68nXQorWydtw68nLCAnZm9vJ10KIGZvb23DrwogWydmb28gbcOvJywgJ2ZvbycsICdmb29mb28nXQogYmFybcOvCi1bJ2JhciBtw68nLCAnYmFyZm9vJywgJ2JhcmJhciddCitbJ2JhcmZvbycsICdiYXJiYXInLCAnbcOvJ10KIG3Dr2ZvbwogWydtw68gZm9vJywgJ2ZvbycsICdmb29mb28nXQogbcOvYmFyCiBbJ2Zvb2JhcicsICdiYXJiYXInLCAnbcOvJ10KIG3Dr23DrwotWydtw68gbcOvJywgJ23DrycsICdsYSBtw68nXQorWydtw68gbcOvJywgJ23DryddCiBsYWxhCiBbXQogbcOvbGEKLVsnbcOvJ10KK1snbcOvJywgJ23DryBtw68nXQogbGFtw68KLVsnbGEgbcOvJywgJ23DrycsICdtw68gbcOvJ10KK1snbcOvJywgJ23DryBtw68nXQogZm9vbGEKIFsnZm9vJywgJ2Zvb2JhcicsICdmb29mb28nXQogbGFiYXIKQEAgLTE2MCwzICsxNjAsOTkgQEAKIFsnc3RhcnR3b3Jkd29yZHdvcmR3b3JkIGVuZCcsICdzdGFydHdvcmR3b3Jkd29yZHdvcmQnLCAnc3RhcnQgd29yZHdvcmR3b3Jkd29yZCBlbmQnXQogYm9ya3ByZWJvcmtwcmVib3JrYm9yawogWydib3JrcHJlYm9ya3ByZWJvcmsgYm9yaycsICdib3JrcHJlYm9yayBwcmVib3JrYm9yaycsICdib3JrIHByZWJvcmtwcmVib3JrYm9yayddCisKK3Rlc3QgNS01CisjIGZpbGU6IFh0ZXN0LnV0Zi04LnNwbAorYmFyCitiYXJib3JrCitlbmQKK2Zvb2ExCitmb29hw6kKK3ByZWJhcgorcHJlYmFyYm9yaworc3RhcnQKKy0tLS0tLS0KK2JhZAorWydiYXInLCAnZW5kJywgJ2Zvb2ExJ10KK2ZvbworWydmb29hMScsICdmb29hw6knLCAnYmFyJ10KK2Zvb2EyCitbJ2Zvb2ExJywgJ2Zvb2HDqScsICdiYXInXQorcHJhYmFyCitbJ3ByZWJhcicsICdiYXInLCAnYmFyIGJhciddCitwcm9iYXJiaXJrCitbJ3ByZWJhcmJvcmsnXQorbWlkZGxlCitbXQorc3RhcnRtaWRkbGUKK1snc3RhcnRtaWRkbGVlbmQnXQorbWlkZGxlZW5kCitbXQorZW5kc3RhcnQKK1snZW5kIHN0YXJ0JywgJ3N0YXJ0J10KK3N0YXJ0cHJvYmFyCitbJ3N0YXJ0cHJlYmFyJywgJ3N0YXJ0IHByZWJhcicsICdzdGFydGJhciddCisKK3Rlc3QgNi02CisjIGZpbGU6IFh0ZXN0LnV0Zi04LnNwbAorYmFyCitiYXJib3JrCitlbmQKK2xlYWQKK21lZWExCittZWVhw6kKK3ByZWJhcgorcHJlYmFyYm9yaworLS0tLS0tLQorYmFkCitbJ2JhcicsICdlbmQnLCAnbGVhZCddCittZWUKK1snbWVlYTEnLCAnbWVlYcOpJywgJ2JhciddCittZWVhMgorWydtZWVhMScsICdtZWVhw6knLCAnbGVhZCddCitwcmFiYXIKK1sncHJlYmFyJywgJ2xlYWRiYXInLCAnYmFyJ10KK3Byb2JhcmJpcmsKK1sncHJlYmFyYm9yayddCittaWRkbGUKK1tdCitsZWFkbWlkZGxlCitbJ2xlYWRtaWRkbGVlbmQnXQorbWlkZGxlZW5kCitbXQorZW5kbGVhZAorWydlbmQgbGVhZCcsICdsZWFkJywgJ2VuZCBlbmQnXQorbGVhZHByb2JhcgorWydsZWFkcHJlYmFyJywgJ2xlYWQgcHJlYmFyJywgJ2xlYWRiYXInXQorCit0ZXN0IDctNworIyBmaWxlOiBYdGVzdC51dGYtOC5zcGwKK2JhcgorYmFybWVhdAorbGVhZAorbWVlYTEKK21lZWHDqQorcHJlYmFyCitwcmViYXJtZWF0Cit0YWlsCistLS0tLS0tCitiYWQKK1snYmFyJywgJ2xlYWQnLCAndGFpbCddCittZWUKK1snbWVlYTEnLCAnbWVlYcOpJywgJ2JhciddCittZWVhMgorWydtZWVhMScsICdtZWVhw6knLCAnbGVhZCddCitwcmFiYXIKK1sncHJlYmFyJywgJ2xlYWRiYXInLCAnYmFyJ10KK3Byb2Jhcm1hYXQKK1sncHJlYmFybWVhdCddCittaWRkbGUKK1tdCitsZWFkbWlkZGxlCitbXQorbWlkZGxldGFpbAorW10KK3RhaWxsZWFkCitbJ3RhaWwgbGVhZCcsICd0YWlsJ10KK2xlYWRwcm9iYXIKK1snbGVhZHByZWJhcicsICdsZWFkIHByZWJhcicsICdsZWFkYmFyJ10KZGlmZiAtLWdpdCBhL3NyYy92ZXJzaW9uLmggYi9zcmMvdmVyc2lvbi5oCmluZGV4IDIzMTdjODcuLjJlYTQ2YWIgMTAwNjQ0Ci0tLSBhL3NyYy92ZXJzaW9uLmgKKysrIGIvc3JjL3ZlcnNpb24uaApAQCAtMzYsNSArMzYsNSBAQAogI2RlZmluZSBWSU1fVkVSU0lPTl9OT0RPVAkidmltNzBhYSIKICNkZWZpbmUgVklNX1ZFUlNJT05fU0hPUlQJIjcuMGFhIgogI2RlZmluZSBWSU1fVkVSU0lPTl9NRURJVU0JIjcuMGFhIEFMUEhBIgotI2RlZmluZSBWSU1fVkVSU0lPTl9MT05HCSJWSU0gLSBWaSBJTXByb3ZlZCA3LjBhYSBBTFBIQSAoMjAwNSBBdWcgMjkpIgotI2RlZmluZSBWSU1fVkVSU0lPTl9MT05HX0RBVEUJIlZJTSAtIFZpIElNcHJvdmVkIDcuMGFhIEFMUEhBICgyMDA1IEF1ZyAyOSwgY29tcGlsZWQgIgorI2RlZmluZSBWSU1fVkVSU0lPTl9MT05HCSJWSU0gLSBWaSBJTXByb3ZlZCA3LjBhYSBBTFBIQSAoMjAwNSBBdWcgMzApIgorI2RlZmluZSBWSU1fVkVSU0lPTl9MT05HX0RBVEUJIlZJTSAtIFZpIElNcHJvdmVkIDcuMGFhIEFMUEhBICgyMDA1IEF1ZyAzMCwgY29tcGlsZWQgIgo=